home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: ArcFS Archive
(archive/arcFS).
You can browse this item here: virtual
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| ArcFS Archive (archive/arcFS)
| magic
| Supported |
100%
| file
| RISC OS archive (ArcFS format)
| default
| |
99%
| file
| data
| default
| |
100%
| TrID
| Acorn ArcFS Archive
| default
| |
100%
| gt2
| Kopftext: 'Archive'
| default (weak)
| |
100%
| detectItEasy
| Archive: ArcFS
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 41 72 63 68 69 76 65 00 | 08 07 00 00 f4 08 00 00 |Archive.|........|
|00000010| 28 00 00 00 64 00 00 00 | 00 00 00 00 00 00 00 00 |(...d...|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000060| 82 55 70 64 61 74 65 00 | 00 00 00 00 c6 03 00 00 |.Update.|........|
|00000070| 44 ff ff ff 7a 1d ad 27 | 03 00 47 81 c6 03 00 00 |D...z..'|..G.....|
|00000080| 24 00 00 00 82 56 53 49 | 5f 42 61 73 69 63 00 00 |$....VSI|_Basic..|
|00000090| ff ff ff ff 46 fd ff ff | a8 8f fc 1e 00 00 00 00 |....F...|........|
|000000a0| ff ff ff ff b4 00 00 80 | 82 4c 65 74 74 65 72 00 |........|.Letter.|
|000000b0| 10 00 00 00 83 0d 00 00 | 44 ff ff ff a7 66 42 20 |........|D....fB |
|000000c0| 03 00 6c 76 83 0d 00 00 | 0e 04 00 00 82 56 53 49 |..lv....|.....VSI|
|000000d0| 5f 53 69 65 76 65 00 00 | 2f 41 00 00 44 fb ff ff |_Sieve..|/A..D...|
|000000e0| 6f d3 60 1e 03 00 65 57 | 2f 41 00 00 b5 11 00 00 |o.`...eW|/A......|
|000000f0| 00 1a 85 03 00 00 00 00 | 10 00 00 00 ee 00 00 00 |........|........|
|00000100| 50 ff ff ff 06 01 00 00 | 7c ff ff ff 38 00 4f 07 |P.......||...8.O.|
|00000110| ac 09 00 00 82 56 53 49 | 5f 43 00 00 00 00 00 00 |.....VSI|_C......|
|00000120| ff ff ff ff 46 fd ff ff | e7 8f fc 1e 00 00 00 00 |....F...|........|
|00000130| ff ff ff ff e4 06 00 80 | 82 21 76 73 69 6c 69 6e |........|.!vsilin|
|00000140| 6b 00 ff ff ff ff ff ff | 46 fd ff ff f3 8f fc 1e |k.......|F.......|
|00000150| 00 00 00 00 ff ff ff ff | 8c 01 00 80 82 21 52 75 |........|.....!Ru|
|00000160| 6e 00 00 00 00 00 00 00 | f1 00 00 00 44 eb ff ff |n.......|....D...|
|00000170| 6b 62 90 23 03 00 38 16 | f1 00 00 00 08 53 00 00 |kb.#..8.|.....S..|
|00000180| 82 21 52 75 6e 48 69 67 | 68 00 00 00 d8 22 00 00 |.!RunHig|h...."..|
|00000190| 44 f8 ff ff 9e b9 38 29 | 03 00 62 aa d8 22 00 00 |D.....8)|..b.."..|
|000001a0| 1d 54 00 00 82 21 52 75 | 6e 49 6d 61 67 65 00 00 |.T...!Ru|nImage..|
|000001b0| 78 32 00 00 44 f8 ff ff | 73 b9 38 29 03 00 19 cf |x2..D...|s.8)....|
|000001c0| 78 32 00 00 19 77 00 00 | 00 00 00 00 00 00 00 00 |x2...w..|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 82 21 76 73 |........|.....!vs|
|000001f0| 69 6c 69 6e 6b 32 00 ff | ff ff ff ff 46 fd ff ff |ilink2..|....F...|
|00000200| 1a 90 fc 1e 00 00 00 00 | ff ff ff ff f8 01 00 80 |........|........|
|00000210| 82 21 52 75 6e 00 00 00 | 00 00 00 00 f1 00 00 00 |.!Run...|........|
|00000220| 44 eb ff ff 6b 62 90 23 | 03 00 38 16 f1 00 00 00 |D...kb.#|..8.....|
|00000230| b5 a9 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000250| 00 00 00 00 00 00 00 00 | 82 61 00 ff 18 00 00 00 |........|.a......|
|00000260| 24 ff ff ff ff ff ff ff | 46 fd ff ff 2b 90 fc 1e |$.......|F...+...|
|00000270| 00 00 00 00 ff ff ff ff | d0 02 00 80 82 49 6e 63 |........|.....Inc|
|00000280| 41 73 6d 00 00 00 00 00 | 2e 16 00 00 44 ff ff ff |Asm.....|....D...|
|00000290| ae 8e a6 1d 03 00 67 88 | 2e 16 00 00 ca aa 00 00 |......g.|........|
|000002a0| 82 76 73 69 6c 69 6e 6b | 61 73 73 00 29 04 00 00 |.vsilink|ass.)...|
|000002b0| 44 ff ff ff 78 da f2 0e | 03 00 4f 5f 29 04 00 00 |D...x...|..O_)...|
|000002c0| 1c c1 00 00 82 56 53 49 | 6d 61 6e 61 73 73 00 00 |.....VSI|manass..|
|000002d0| 17 26 00 00 44 ff ff ff | 4f ba 2f 28 03 00 75 8c |.&..D...|O./(..u.|
|000002e0| 17 26 00 00 69 c5 00 00 | 82 56 53 49 6d 61 6e 52 |.&..i...|.VSImanR|
|000002f0| 54 53 4b 00 93 04 00 00 | 44 ff ff ff f6 62 de 1d |TSK.....|D....b..|
|00000300| 03 00 a8 56 93 04 00 00 | a4 eb 00 00 00 00 00 00 |...V....|........|
|00000310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000330| 82 63 00 ff 18 00 00 00 | 24 ff ff ff ff ff ff ff |.c......|$.......|
|00000340| 46 fd ff ff 7a 90 fc 1e | 00 00 00 00 ff ff ff ff |F...z...|........|
|00000350| a8 03 00 80 82 56 53 49 | 63 6c 69 62 00 00 00 00 |.....VSI|clib....|
|00000360| 52 2a 00 00 44 ff ff ff | a2 ad 38 29 03 00 0c 0b |R*..D...|..8)....|
|00000370| 52 2a 00 00 5b f0 00 00 | 82 76 73 69 6c 69 6e 6b |R*..[...|.vsilink|
|00000380| 68 69 00 00 47 a5 00 00 | 44 ff ff ff e3 ce 2b 28 |hi..G...|D.....+(|
|00000390| 03 00 e6 e8 47 a5 00 00 | d1 1a 01 00 82 76 73 69 |....G...|.....vsi|
|000003a0| 6c 69 6e 6b 6c 6f 00 00 | 23 06 00 00 44 ff ff ff |linklo..|#...D...|
|000003b0| 4b 25 29 28 03 00 d4 d1 | 23 06 00 00 3c c0 01 00 |K%)(....|#...<...|
|000003c0| 82 56 53 49 6d 61 6e 00 | 00 00 00 00 9f 50 00 00 |.VSIman.|.....P..|
|000003d0| 44 ff ff ff 94 b1 38 29 | 03 00 e2 89 9f 50 00 00 |D.....8)|.....P..|
|000003e0| 83 c6 01 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000400| 00 00 00 00 00 00 00 00 | 82 68 00 ff 18 00 00 00 |........|.h......|
|00000410| 24 ff ff ff ff ff ff ff | 46 fd ff ff ad 90 fc 1e |$.......|F.......|
|00000420| 00 00 00 00 ff ff ff ff | 38 04 00 80 82 76 73 69 |........|8....vsi|
|00000430| 6c 69 6e 6b 00 00 00 00 | b2 00 00 00 44 ff ff ff |link....|....D...|
|00000440| e0 be 90 23 03 00 4e e0 | b2 00 00 00 46 17 02 00 |...#..N.|....F...|
|00000450| 82 56 53 49 6d 61 6e 00 | 00 00 00 00 9e 05 00 00 |.VSIman.|........|
|00000460| 44 ff ff ff 16 95 e8 27 | 03 00 d9 a4 9e 05 00 00 |D......'|........|
|00000470| 1c 18 02 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000480| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000490| 00 00 00 00 00 00 00 00 | 82 6c 6f 67 46 69 6c 65 |........|.logFile|
|000004a0| 00 ff ff ff 4e 4c 00 00 | 44 ff ff ff 5e be 38 29 |....NL..|D...^.8)|
|000004b0| 03 00 9d 11 4e 4c 00 00 | de 1d 02 00 82 6d 61 6b |....NL..|.....mak|
|000004c0| 65 5f 76 6c 69 6e 6b 00 | 5c 00 00 00 44 eb ff ff |e_vlink.|\...D...|
|000004d0| 79 f5 db 1d 03 00 13 08 | 5c 00 00 00 50 6a 02 00 |y.......|\...Pj..|
|000004e0| 82 6f 00 ff 18 00 00 00 | 24 ff ff ff ff ff ff ff |.o......|$.......|
|000004f0| 46 fd ff ff fc 90 fc 1e | 00 00 00 00 ff ff ff ff |F.......|........|
|00000500| c4 05 00 80 82 56 53 49 | 63 6c 69 62 00 00 00 00 |.....VSI|clib....|
|00000510| d0 0e 00 00 44 fd ff ff | 57 b5 38 29 03 00 e5 e3 |....D...|W.8)....|
|00000520| d0 0e 00 00 d0 6a 02 00 | 82 76 73 69 6c 69 6e 6b |.....j..|.vsilink|
|00000530| 61 73 73 00 60 02 00 00 | 44 fd ff ff 7e 8a 47 24 |ass.`...|D...~.G$|
|00000540| 03 00 19 2f 60 02 00 00 | c4 79 02 00 82 76 73 69 |.../`...|.y...vsi|
|00000550| 6c 69 6e 6b 68 69 00 00 | 88 2e 00 00 44 fd ff ff |linkhi..|....D...|
|00000560| 56 d8 2b 28 03 00 ad 98 | 88 2e 00 00 48 7c 02 00 |V.+(....|....H|..|
|00000570| 82 76 73 69 6c 69 6e 6b | 6c 6f 00 00 0c 06 00 00 |.vsilink|lo......|
|00000580| 44 fd ff ff 81 27 29 28 | 03 00 d9 cb 0c 06 00 00 |D....')(|........|
|00000590| f4 aa 02 00 82 56 53 49 | 6d 61 6e 00 00 00 00 00 |.....VSI|man.....|
|000005a0| 7c 1a 00 00 44 fd ff ff | 78 b8 38 29 03 00 87 54 ||...D...|x.8)...T|
|000005b0| 7c 1a 00 00 24 b1 02 00 | 82 56 53 49 6d 61 6e 61 ||...$...|.VSImana|
|000005c0| 73 73 00 00 98 05 00 00 | 44 fd ff ff 41 bf 2f 28 |ss......|D...A./(|
|000005d0| 03 00 05 02 98 05 00 00 | c4 cb 02 00 82 56 53 49 |........|.....VSI|
|000005e0| 6d 61 6e 52 54 53 4b 00 | 18 02 00 00 44 fd ff ff |manRTSK.|....D...|
|000005f0| 98 82 47 24 03 00 c7 df | 18 02 00 00 80 d1 02 00 |..G$....|........|
|00000600| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000610| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000620| 00 00 00 00 82 52 65 61 | 64 4d 65 00 24 ff ff ff |.....Rea|dMe.$...|
|00000630| 05 1e 00 00 44 ff ff ff | 0f d0 28 28 03 00 71 d4 |....D...|..((..q.|
|00000640| 05 1e 00 00 bc d3 02 00 | 82 72 75 6e 5f 76 6c 69 |........|.run_vli|
|00000650| 6e 6b 00 ff ba 00 00 00 | 44 eb ff ff 4e b9 f2 27 |nk......|D...N..'|
|00000660| 03 00 a8 d9 ba 00 00 00 | e5 f1 02 00 82 53 65 74 |........|.....Set|
|00000670| 44 69 72 00 24 ff ff ff | 19 00 00 00 44 eb ff ff |Dir.$...|....D...|
|00000680| 6b 3f de 0c 03 00 9d 6e | 19 00 00 00 c3 f2 02 00 |k?.....n|........|
|00000690| 82 55 70 64 61 74 65 00 | 24 ff ff ff c6 03 00 00 |.Update.|$.......|
|000006a0| 44 ff ff ff 7a 1d ad 27 | 03 00 47 81 c6 03 00 00 |D...z..'|..G.....|
|000006b0| 00 f3 02 00 82 56 53 49 | 61 6c 69 61 73 00 ff ff |.....VSI|alias...|
|000006c0| 62 01 00 00 44 ff ff ff | 84 be e8 27 03 00 13 2a |b...D...|...'...*|
|000006d0| 62 01 00 00 ea f6 02 00 | 82 76 73 69 6c 69 6e 6b |b.......|.vsilink|
|000006e0| 32 4d 6b 00 b6 02 00 00 | 44 ff ff ff 71 08 f3 27 |2Mk.....|D...q..'|
|000006f0| 03 00 9b 59 b6 02 00 00 | 70 f8 02 00 82 56 53 49 |...Y....|p....VSI|
|00000700| 76 69 61 00 24 ff ff ff | 2c 00 00 00 44 ff ff ff |via.$...|,...D...|
|00000710| 75 16 18 1c 03 00 12 25 | 2c 00 00 00 4a fb 02 00 |u......%|,...J...|
|00000720| 00 fe ff ff 18 00 00 00 | 24 ff ff ff 38 00 0e 07 |........|$...8...|
|00000730| 00 0d 00 00 00 00 00 00 | 00 00 00 00 18 00 00 00 |........|........|
|00000740| f4 91 de fd 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000750| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000760| 00 00 00 00 00 00 00 00 | 69 6e 67 20 70 72 6f 70 |........|ing prop|
|00000770| 65 72 6c 79 20 69 6e 20 | 27 73 79 73 74 65 6d 27 |erly in |'system'|
|00000780| 20 61 6e 64 0a 62 65 74 | 77 65 65 6e 20 70 6f 6c | and.bet|ween pol|
|00000790| 6c 20 63 61 6c 6c 73 20 | 2d 20 63 6f 75 6c 64 20 |l calls |- could |
|000007a0| 63 61 75 73 65 20 66 75 | 6e 6e 79 20 63 72 61 73 |cause fu|nny cras|
|000007b0| 68 65 73 2e 0a 0a 45 78 | 74 72 61 20 69 6e 74 65 |hes...Ex|tra inte|
|000007c0| 72 63 65 70 74 73 3a 0a | 20 20 20 20 72 65 6d 6f |rcepts:.| remo|
|000007d0| 76 65 0a 20 20 20 20 72 | 65 6e 61 6d 65 0a 20 20 |ve. r|ename. |
|000007e0| 20 20 66 6f 70 65 6e 0a | 20 20 20 20 66 72 65 6f | fopen.| freo|
|000007f0| 70 65 6e 0a 20 20 20 20 | 73 65 74 62 75 66 0a 20 |pen. |setbuf. |
|00000800| 20 20 20 73 65 74 76 62 | 75 66 0a 20 20 20 20 67 | setvb|uf. g|
|00000810| 65 74 65 6e 76 0a 0a 21 | 76 73 69 6c 69 6e 6b 20 |etenv..!|vsilink |
|00000820| 63 61 6e 20 6e 6f 77 20 | 64 65 61 6c 20 77 69 74 |can now |deal wit|
|00000830| 68 20 61 20 73 69 6e 67 | 6c 65 20 69 6e 73 74 61 |h a sing|le insta|
|00000840| 6e 63 65 20 0a 6f 66 20 | 61 20 64 65 66 69 6e 69 |nce .of |a defini|
|00000850| 6e 67 20 63 6f 6d 6d 6f | 6e 20 61 73 20 69 73 20 |ng commo|n as is |
|00000860| 70 72 6f 64 75 63 65 64 | 20 66 6f 72 20 67 6c 6f |produced| for glo|
|00000870| 62 61 6c 73 20 0a 62 79 | 20 27 63 63 20 2d 70 63 |bals .by| 'cc -pc|
|00000880| 63 27 2e 20 20 43 61 6e | 6e 6f 74 20 63 6f 6d 6d |c'. Can|not comm|
|00000890| 6f 6e 20 75 70 20 6d 75 | 6c 74 69 70 6c 65 20 0a |on up mu|ltiple .|
|000008a0| 69 6e 73 74 61 6e 63 65 | 73 20 2d 20 6f 74 68 65 |instance|s - othe|
|000008b0| 72 20 72 65 66 65 72 65 | 6e 63 65 73 20 6d 75 73 |r refere|nces mus|
|000008c0| 74 20 62 65 20 27 65 78 | 74 65 72 6e 27 2e 0a 0a |t be 'ex|tern'...|
|000008d0| 54 68 65 20 21 52 75 6e | 20 66 69 6c 65 20 66 6f |The !Run| file fo|
|000008e0| 72 20 21 76 73 69 6c 69 | 6e 6b 20 6e 6f 77 20 64 |r !vsili|nk now d|
|000008f0| 65 66 69 6e 46 69 6c 65 | 44 61 74 61 82 55 70 64 |efinFile|Data.Upd|
|00000900| 61 74 65 00 00 00 00 00 | c6 03 00 00 44 ff ff ff |ate.....|....D...|
|00000910| 7a 1d ad 27 03 00 47 81 | 56 65 72 73 69 6f 6e 20 |z..'..G.|Version |
|00000920| 33 20 6f 66 20 56 53 49 | 5f 43 0a 0a 43 72 65 61 |3 of VSI|_C..Crea|
|00000930| 74 65 73 20 61 20 6c 61 | 72 67 65 72 20 73 74 61 |tes a la|rger sta|
|00000940| 63 6b 20 66 6f 72 20 75 | 73 65 20 77 68 65 6e 20 |ck for u|se when |
|00000950| 68 61 6e 64 6c 69 6e 67 | 20 0a 76 69 72 74 75 61 |handling| .virtua|
|00000960| 6c 20 73 74 6f 72 65 20 | 69 6e 74 65 72 72 75 70 |l store |interrup|
|00000970| 74 73 2e 20 20 42 65 66 | 6f 72 65 20 69 74 20 77 |ts. Bef|ore it w|
|00000980| 61 73 20 64 6f 69 6e 67 | 20 0a 73 74 61 63 6b 20 |as doing| .stack |
|00000990| 65 78 74 65 6e 73 69 6f | 6e 20 77 68 69 63 68 20 |extensio|n which |
|000009a0| 63 6f 75 6c 64 20 63 6f | 6e 66 6c 69 63 74 20 77 |could co|nflict w|
|000009b0| 69 74 68 20 74 68 65 20 | 0a 6d 61 69 6e 20 70 72 |ith the |.main pr|
|000009c0| 6f 67 72 61 6d 2e 0a 0a | 53 6f 6d 65 20 65 72 72 |ogram...|Some err|
|000009d0| 6f 72 20 6d 65 73 73 61 | 67 65 73 20 61 72 65 20 |or messa|ges are |
|000009e0| 69 6d 70 72 6f 76 65 64 | 2e 0a 0a 0a 56 65 72 73 |improved|....Vers|
|000009f0| 69 6f 6e 20 32 20 6f 66 | 20 56 53 49 5f 43 0a 0a |ion 2 of| VSI_C..|
|00000a00| 42 75 67 20 69 6e 20 56 | 53 49 5f 52 65 73 74 6f |Bug in V|SI_Resto|
|00000a10| 72 65 20 66 69 78 65 64 | 2c 20 64 69 64 20 6e 6f |re fixed|, did no|
|00000a20| 74 20 64 65 74 65 63 74 | 0a 63 68 61 6e 67 65 73 |t detect|.changes|
|00000a30| 20 69 6e 20 6d 61 70 70 | 69 6e 67 20 70 72 6f 70 | in mapp|ing prop|
|00000a40| 65 72 6c 79 20 69 6e 20 | 27 73 79 73 74 65 6d 27 |erly in |'system'|
|00000a50| 20 61 6e 64 0a 62 65 74 | 77 65 65 6e 20 70 6f 6c | and.bet|ween pol|
|00000a60| 6c 20 63 61 6c 6c 73 20 | 2d 20 63 6f 75 6c 64 20 |l calls |- could |
|00000a70| 63 61 75 73 65 20 66 75 | 6e 6e 79 20 63 72 61 73 |cause fu|nny cras|
|00000a80| 68 65 73 2e 0a 0a 45 78 | 74 72 61 20 69 6e 74 65 |hes...Ex|tra inte|
|00000a90| 72 63 65 70 74 73 3a 0a | 20 20 20 20 72 65 6d 6f |rcepts:.| remo|
|00000aa0| 76 65 0a 20 20 20 20 72 | 65 6e 61 6d 65 0a 20 20 |ve. r|ename. |
|00000ab0| 20 20 66 6f 70 65 6e 0a | 20 20 20 20 66 72 65 6f | fopen.| freo|
|00000ac0| 70 65 6e 0a 20 20 20 20 | 73 65 74 62 75 66 0a 20 |pen. |setbuf. |
|00000ad0| 20 20 20 73 65 74 76 62 | 75 66 0a 20 20 20 20 67 | setvb|uf. g|
|00000ae0| 65 74 65 6e 76 0a 0a 21 | 76 73 69 6c 69 6e 6b 20 |etenv..!|vsilink |
|00000af0| 63 61 6e 20 6e 6f 77 20 | 64 65 61 6c 20 77 69 74 |can now |deal wit|
|00000b00| 68 20 61 20 73 69 6e 67 | 6c 65 20 69 6e 73 74 61 |h a sing|le insta|
|00000b10| 6e 63 65 20 0a 6f 66 20 | 61 20 64 65 66 69 6e 69 |nce .of |a defini|
|00000b20| 6e 67 20 63 6f 6d 6d 6f | 6e 20 61 73 20 69 73 20 |ng commo|n as is |
|00000b30| 70 72 6f 64 75 63 65 64 | 20 66 6f 72 20 67 6c 6f |produced| for glo|
|00000b40| 62 61 6c 73 20 0a 62 79 | 20 27 63 63 20 2d 70 63 |bals .by| 'cc -pc|
|00000b50| 63 27 2e 20 20 43 61 6e | 6e 6f 74 20 63 6f 6d 6d |c'. Can|not comm|
|00000b60| 6f 6e 20 75 70 20 6d 75 | 6c 74 69 70 6c 65 20 0a |on up mu|ltiple .|
|00000b70| 69 6e 73 74 61 6e 63 65 | 73 20 2d 20 6f 74 68 65 |instance|s - othe|
|00000b80| 72 20 72 65 66 65 72 65 | 6e 63 65 73 20 6d 75 73 |r refere|nces mus|
|00000b90| 74 20 62 65 20 27 65 78 | 74 65 72 6e 27 2e 0a 0a |t be 'ex|tern'...|
|00000ba0| 54 68 65 20 21 52 75 6e | 20 66 69 6c 65 20 66 6f |The !Run| file fo|
|00000bb0| 72 20 21 76 73 69 6c 69 | 6e 6b 20 6e 6f 77 20 64 |r !vsili|nk now d|
|00000bc0| 65 66 69 6e 65 73 20 56 | 53 49 24 50 68 79 73 69 |efines V|SI$Physi|
|00000bd0| 63 61 6c 20 0a 61 6e 64 | 20 56 53 49 24 56 69 72 |cal .and| VSI$Vir|
|00000be0| 74 75 61 6c 20 77 68 69 | 63 68 20 6d 61 79 20 62 |tual whi|ch may b|
|00000bf0| 65 20 73 65 74 20 74 6f | 20 65 78 70 65 72 69 6d |e set to| experim|
|00000c00| 65 6e 74 20 0a 77 69 74 | 68 20 64 69 66 66 65 72 |ent .wit|h differ|
|00000c10| 65 6e 74 20 73 69 7a 65 | 73 20 6f 66 20 72 65 61 |ent size|s of rea|
|00000c20| 6c 20 61 6e 64 20 76 69 | 72 74 75 61 6c 20 73 74 |l and vi|rtual st|
|00000c30| 6f 72 65 20 0a 61 6c 6c | 6f 63 61 74 65 64 20 66 |ore .all|ocated f|
|00000c40| 6f 72 20 56 53 49 20 68 | 61 6e 64 6c 69 6e 67 2e |or VSI h|andling.|
|00000c50| 0a 0a 4e 6f 77 20 63 6f | 70 69 65 73 20 66 69 6c |..Now co|pies fil|
|00000c60| 65 6e 61 6d 65 20 69 6e | 20 46 69 6c 65 5f 53 69 |ename in| File_Si|
|00000c70| 7a 65 20 69 6e 20 63 2e | 76 73 69 6c 69 6e 6b 6c |ze in c.|vsilinkl|
|00000c80| 6f 20 73 6f 20 0a 6e 6f | 20 70 72 6f 62 6c 65 6d |o so .no| problem|
|00000c90| 73 20 69 6e 20 63 61 6c | 6c 20 74 6f 20 5f 6b 65 |s in cal|l to _ke|
|00000ca0| 72 6e 65 6c 5f 6f 73 66 | 69 6c 65 2e 0a 0a 21 76 |rnel_osf|ile...!v|
|00000cb0| 73 69 6c 69 6e 6b 20 6e | 6f 77 20 72 65 6a 65 63 |silink n|ow rejec|
|00000cc0| 74 73 20 64 69 72 65 63 | 74 6f 72 69 65 73 20 61 |ts direc|tories a|
|00000cd0| 73 20 69 6e 70 75 74 20 | 66 69 6c 65 73 0a 46 69 |s input |files.Fi|
|00000ce0| 6c 65 44 61 74 61 82 4c | 65 74 74 65 72 00 10 00 |leData.L|etter...|
|00000cf0| 00 00 83 0d 00 00 44 ff | ff ff a7 66 42 20 03 00 |......D.|...fB ..|
|00000d00| 6c 76 0a 56 69 72 74 75 | 61 6c 20 53 74 6f 72 65 |lv.Virtu|al Store|
|00000d10| 20 49 6e 74 65 72 72 75 | 70 74 73 20 61 6e 64 20 | Interru|pts and |
|00000d20| 50 61 67 65 69 6e 67 0a | 0a 41 20 72 65 63 65 6e |Pageing.|.A recen|
|00000d30| 74 20 6c 65 74 74 65 72 | 20 62 79 20 4d 61 75 72 |t letter| by Maur|
|00000d40| 69 63 65 20 48 65 6e 64 | 72 69 78 20 64 65 73 63 |ice Hend|rix desc|
|00000d50| 72 69 62 65 64 20 68 6f | 77 20 68 65 20 77 6f 75 |ribed ho|w he wou|
|00000d60| 6c 64 20 0a 6c 69 6b 65 | 20 56 69 72 74 75 61 6c |ld .like| Virtual|
|00000d70| 20 6d 65 6d 6f 72 79 20 | 6d 61 6e 61 67 65 6d 65 | memory |manageme|
|00000d80| 6e 74 20 75 6e 64 65 72 | 20 52 69 73 63 2d 4f 53 |nt under| Risc-OS|
|00000d90| 20 61 6e 64 20 69 6e 63 | 6c 75 64 65 64 20 0a 61 | and inc|luded .a|
|00000da0| 6e 20 69 6d 70 6c 65 6d | 65 6e 74 61 74 69 6f 6e |n implem|entation|
|00000db0| 2e 20 49 20 68 61 64 20 | 65 61 72 6c 69 65 72 20 |. I had |earlier |
|00000dc0| 74 68 6f 75 67 68 74 20 | 74 68 61 74 20 74 68 65 |thought |that the|
|00000dd0| 20 6a 6f 62 20 77 61 73 | 20 0a 74 6f 6f 20 6d 75 | job was| .too mu|
|00000de0| 63 68 20 62 6f 74 68 65 | 72 20 61 6e 64 20 6e 6f |ch bothe|r and no|
|00000df0| 74 20 75 73 65 66 75 6c | 20 65 6e 6f 75 67 68 20 |t useful| enough |
|00000e00| 62 75 74 20 68 61 76 69 | 6e 67 20 6c 6f 6f 6b 65 |but havi|ng looke|
|00000e10| 64 20 0a 61 74 20 77 68 | 61 74 20 68 65 20 77 61 |d .at wh|at he wa|
|00000e20| 73 20 64 6f 69 6e 67 20 | 68 61 76 65 20 63 6f 6d |s doing |have com|
|00000e30| 65 20 74 6f 20 61 63 63 | 65 70 74 20 74 68 61 74 |e to acc|ept that|
|00000e40| 20 68 65 20 72 65 61 6c | 6c 79 20 0a 64 6f 65 73 | he real|ly .does|
|00000e50| 20 68 61 76 65 20 61 20 | 70 6f 69 6e 74 2e 0a 0a | have a |point...|
|00000e60| 49 20 68 61 76 65 20 69 | 6d 70 6c 65 6d 65 6e 74 |I have i|mplement|
|00000e70| 65 64 20 61 20 73 69 6d | 70 6c 65 20 76 69 72 74 |ed a sim|ple virt|
|00000e80| 75 61 6c 20 73 74 6f 72 | 65 20 69 6e 74 65 72 72 |ual stor|e interr|
|00000e90| 75 70 74 20 0a 68 61 6e | 64 6c 65 72 20 69 6e 20 |upt .han|dler in |
|00000ea0| 61 20 42 61 73 69 63 20 | 70 72 6f 67 72 61 6d 20 |a Basic |program |
|00000eb0| 27 56 53 49 5f 53 69 65 | 76 65 27 20 61 63 63 6f |'VSI_Sie|ve' acco|
|00000ec0| 6d 70 61 6e 79 69 6e 67 | 20 74 68 69 73 20 0a 6e |mpanying| this .n|
|00000ed0| 6f 74 65 2e 20 54 68 65 | 20 73 69 65 76 65 20 70 |ote. The| sieve p|
|00000ee0| 72 6f 67 72 61 6d 20 69 | 73 20 61 73 20 69 6e 20 |rogram i|s as in |
|00000ef0| 74 68 65 20 70 72 6f 67 | 72 61 6d 20 62 79 20 4d |the prog|ram by M|
|00000f00| 61 75 72 69 63 65 20 0a | 48 65 6e 64 72 69 78 20 |aurice .|Hendrix |
|00000f10| 65 78 63 65 70 74 20 74 | 68 61 74 20 74 68 65 20 |except t|hat the |
|00000f20| 70 61 67 65 73 20 61 72 | 65 20 61 75 74 6f 6d 61 |pages ar|e automa|
|00000f30| 74 69 63 61 6c 6c 79 20 | 70 61 67 65 64 20 69 6e |tically |paged in|
|00000f40| 20 0a 61 73 20 6e 65 63 | 65 73 73 61 72 79 20 77 | .as nec|essary w|
|00000f50| 68 65 6e 20 74 68 65 79 | 20 61 72 65 20 72 65 66 |hen they| are ref|
|00000f60| 65 72 65 6e 63 65 64 2e | 20 55 70 20 74 6f 20 38 |erenced.| Up to 8|
|00000f70| 20 4d 62 79 74 65 20 6f | 66 20 0a 76 69 72 74 75 | Mbyte o|f .virtu|
|00000f80| 61 6c 20 73 74 6f 72 65 | 20 73 74 61 72 74 69 6e |al store| startin|
|00000f90| 67 20 61 74 20 26 38 30 | 30 30 30 30 20 63 61 6e |g at &80|0000 can|
|00000fa0| 20 62 65 20 75 73 65 64 | 20 69 66 20 74 68 65 20 | be used| if the |
|00000fb0| 64 69 73 6b 20 0a 73 70 | 61 63 65 20 69 73 20 61 |disk .sp|ace is a|
|00000fc0| 76 61 69 6c 61 62 6c 65 | 2e 20 54 68 65 20 62 69 |vailable|. The bi|
|00000fd0| 67 20 72 65 73 74 72 69 | 63 74 69 6f 6e 20 69 73 |g restri|ction is|
|00000fe0| 20 74 68 61 74 20 72 65 | 66 65 72 65 6e 63 65 73 | that re|ferences|
|00000ff0| 20 0a 74 6f 20 74 68 65 | 20 76 69 72 74 75 61 6c | .to the| virtual|
|00001000| 20 73 74 6f 72 65 20 61 | 72 65 61 20 6d 75 73 74 | store a|rea must|
|00001010| 20 6e 6f 74 20 62 65 20 | 70 61 73 73 65 64 20 74 | not be |passed t|
|00001020| 6f 20 52 69 73 63 2d 4f | 53 2e 20 0a 74 68 65 20 |o Risc-O|S. .the |
|00001030| 76 69 72 74 75 61 6c 20 | 73 74 6f 72 65 20 68 61 |virtual |store ha|
|00001040| 6e 64 6c 69 6e 67 20 6f | 6e 6c 79 20 77 6f 72 6b |ndling o|nly work|
|00001050| 73 20 66 6f 72 20 70 72 | 6f 67 72 61 6d 73 20 69 |s for pr|ograms i|
|00001060| 6e 20 0a 75 73 65 72 20 | 6d 6f 64 65 20 2d 20 69 |n .user |mode - i|
|00001070| 6e 20 70 61 72 74 69 63 | 75 6c 61 72 20 2a 4c 4f |n partic|ular *LO|
|00001080| 41 44 20 6f 72 20 2a 53 | 41 56 45 20 77 69 6c 6c |AD or *S|AVE will|
|00001090| 20 6e 6f 74 20 77 6f 72 | 6b 2e 0a 0a 54 68 65 20 | not wor|k...The |
|000010a0| 70 72 6f 67 72 61 6d 20 | 69 73 20 73 69 6e 67 6c |program |is singl|
|000010b0| 65 20 74 61 73 6b 69 6e | 67 20 61 6e 64 20 77 69 |e taskin|g and wi|
|000010c0| 6c 6c 20 6e 6f 74 20 72 | 75 6e 20 69 6e 20 61 20 |ll not r|un in a |
|000010d0| 54 61 73 6b 20 0a 77 69 | 6e 64 6f 77 2e 20 48 6f |Task .wi|ndow. Ho|
|000010e0| 77 65 76 65 72 20 68 6f | 6f 6b 73 20 61 72 65 20 |wever ho|oks are |
|000010f0| 70 72 6f 76 69 64 65 64 | 20 66 6f 72 20 72 75 6e |provided| for run|
|00001100| 6e 69 6e 67 20 75 6e 64 | 65 72 20 74 68 65 20 0a |ning und|er the .|
|00001110| 57 69 6d 70 2e 20 4f 6e | 65 20 77 61 79 20 6f 66 |Wimp. On|e way of|
|00001120| 20 77 6f 72 6b 69 6e 67 | 20 6d 69 67 68 74 20 62 | working| might b|
|00001130| 65 20 74 6f 20 70 75 74 | 20 61 6c 6c 20 74 68 65 |e to put| all the|
|00001140| 20 57 69 6d 70 20 0a 72 | 65 6c 61 74 65 64 20 70 | Wimp .r|elated p|
|00001150| 72 6f 63 65 73 73 69 6e | 67 20 61 6e 64 20 64 61 |rocessin|g and da|
|00001160| 74 61 20 69 6e 74 6f 20 | 74 68 65 20 6c 6f 77 20 |ta into |the low |
|00001170| 61 64 64 72 65 73 73 65 | 73 20 61 6e 64 20 61 6c |addresse|s and al|
|00001180| 6c 20 0a 74 68 65 20 63 | 6f 6d 70 75 74 61 74 69 |l .the c|omputati|
|00001190| 6f 6e 20 61 6e 64 20 74 | 61 62 6c 65 73 20 69 6e |on and t|ables in|
|000011a0| 74 6f 20 74 68 65 20 76 | 69 72 74 75 61 6c 20 73 |to the v|irtual s|
|000011b0| 74 6f 72 65 20 61 72 65 | 61 2e 0a 0a 54 68 65 72 |tore are|a...Ther|
|000011c0| 65 20 69 73 20 6f 62 76 | 69 6f 75 73 6c 79 20 65 |e is obv|iously e|
|000011d0| 6e 64 6c 65 73 73 20 73 | 63 6f 70 65 20 66 6f 72 |ndless s|cope for|
|000011e0| 20 64 65 76 65 6c 6f 70 | 6d 65 6e 74 20 61 6e 64 | develop|ment and|
|000011f0| 20 0a 69 6d 70 72 6f 76 | 65 6d 65 6e 74 73 2e 20 | .improv|ements. |
|00001200| 54 68 65 20 6d 6f 73 74 | 20 6f 62 76 69 6f 75 73 |The most| obvious|
|00001210| 20 74 6f 20 6d 65 20 61 | 72 65 3a 0a 0a 31 2e 20 | to me a|re:..1. |
|00001220| 48 61 76 65 20 61 20 76 | 69 72 74 75 61 6c 20 73 |Have a v|irtual s|
|00001230| 74 6f 72 65 20 6d 6f 64 | 75 6c 65 20 6c 69 6b 65 |tore mod|ule like|
|00001240| 20 69 6e 20 74 68 65 20 | 69 6d 70 6c 65 6d 65 6e | in the |implemen|
|00001250| 74 61 74 69 6f 6e 20 0a | 62 79 20 4d 61 75 72 69 |tation .|by Mauri|
|00001260| 63 65 20 48 65 6e 64 72 | 69 78 20 74 68 61 74 20 |ce Hendr|ix that |
|00001270| 77 6f 75 6c 64 20 61 6c | 6c 6f 63 61 74 65 20 73 |would al|locate s|
|00001280| 70 61 63 65 20 74 6f 20 | 74 61 73 6b 73 20 66 72 |pace to |tasks fr|
|00001290| 6f 6d 20 0a 74 68 65 20 | 73 70 61 63 65 20 6f 66 |om .the |space of|
|000012a0| 20 61 20 27 56 69 72 74 | 75 61 6c 20 53 74 6f 72 | a 'Virt|ual Stor|
|000012b0| 65 20 41 70 70 6c 69 63 | 61 74 69 6f 6e 27 20 74 |e Applic|ation' t|
|000012c0| 68 65 20 73 69 7a 65 20 | 6f 66 20 77 68 69 63 68 |he size |of which|
|000012d0| 20 0a 63 6f 75 6c 64 20 | 62 65 20 63 68 61 6e 67 | .could |be chang|
|000012e0| 65 64 20 65 61 73 69 6c | 79 2e 0a 0a 32 2e 20 49 |ed easil|y...2. I|
|000012f0| 6d 70 6c 65 6d 65 6e 74 | 20 61 20 77 61 79 20 6f |mplement| a way o|
|00001300| 66 20 72 75 6e 6e 69 6e | 67 20 43 20 70 72 6f 67 |f runnin|g C prog|
|00001310| 72 61 6d 73 20 69 6e 20 | 74 68 65 20 76 69 72 74 |rams in |the virt|
|00001320| 75 61 6c 20 0a 73 74 6f | 72 65 20 73 70 61 63 65 |ual .sto|re space|
|00001330| 20 61 6e 64 20 63 61 6c | 6c 69 6e 67 20 74 68 65 | and cal|ling the|
|00001340| 6d 20 66 72 6f 6d 20 70 | 72 6f 67 72 61 6d 73 20 |m from p|rograms |
|00001350| 69 6e 20 6c 6f 77 65 72 | 20 73 70 61 63 65 2e 0a |in lower| space..|
|00001360| 41 6c 6c 20 74 68 65 20 | 41 6e 73 69 20 43 20 63 |All the |Ansi C c|
|00001370| 61 6c 6c 73 20 65 78 63 | 65 70 74 20 66 72 65 61 |alls exc|ept frea|
|00001380| 64 2c 20 66 77 72 69 74 | 65 2c 20 73 65 74 76 62 |d, fwrit|e, setvb|
|00001390| 75 66 2c 20 61 6e 64 20 | 0a 73 79 73 74 65 6d 20 |uf, and |.system |
|000013a0| 6c 6f 6f 6b 20 6c 69 6b | 65 20 74 68 65 79 20 63 |look lik|e they c|
|000013b0| 61 6e 20 62 65 20 68 61 | 6e 64 65 64 20 6f 76 65 |an be ha|nded ove|
|000013c0| 72 20 64 69 72 65 63 74 | 20 74 6f 20 74 68 65 20 |r direct| to the |
|000013d0| 63 75 72 72 65 6e 74 20 | 0a 6c 69 62 72 61 72 79 |current |.library|
|000013e0| 2e 0a 0a 33 2e 20 41 6c | 6c 6f 77 20 75 73 65 20 |...3. Al|low use |
|000013f0| 69 6e 20 61 20 74 61 73 | 6b 20 77 69 6e 64 6f 77 |in a tas|k window|
|00001400| 20 62 79 20 73 69 6d 70 | 6c 79 20 72 65 6d 61 70 | by simp|ly remap|
|00001410| 70 69 6e 67 20 61 20 70 | 61 67 65 20 0a 69 66 20 |ping a p|age .if |
|00001420| 69 74 20 69 73 20 70 72 | 65 73 65 6e 74 20 62 75 |it is pr|esent bu|
|00001430| 74 20 74 68 65 20 6d 61 | 70 70 69 6e 67 20 68 61 |t the ma|pping ha|
|00001440| 73 20 63 68 61 6e 67 65 | 64 20 75 6e 65 78 70 65 |s change|d unexpe|
|00001450| 63 74 65 64 6c 79 2e 20 | 0a 49 6d 70 6c 65 6d 65 |ctedly. |.Impleme|
|00001460| 6e 74 69 6e 67 20 74 68 | 65 20 68 61 6e 64 6c 69 |nting th|e handli|
|00001470| 6e 67 20 69 6e 20 61 20 | 6d 6f 64 75 6c 65 20 6d |ng in a |module m|
|00001480| 61 79 20 6d 65 61 6e 20 | 74 68 65 20 6a 6f 62 20 |ay mean |the job |
|00001490| 63 61 6e 20 62 65 20 0a | 64 6f 6e 65 20 6d 6f 72 |can be .|done mor|
|000014a0| 65 20 65 6c 65 67 61 6e | 74 6c 79 2e 0a 0a 34 2e |e elegan|tly...4.|
|000014b0| 20 54 68 65 72 65 20 69 | 73 20 72 6f 6f 6d 20 66 | There i|s room f|
|000014c0| 6f 72 20 65 66 66 69 63 | 69 65 6e 63 79 20 69 6d |or effic|iency im|
|000014d0| 70 72 6f 76 65 6d 65 6e | 74 73 2e 20 54 68 65 20 |provemen|ts. The |
|000014e0| 70 61 67 65 20 0a 72 65 | 70 6c 61 63 65 6d 65 6e |page .re|placemen|
|000014f0| 74 20 70 6f 6c 69 63 79 | 20 63 6f 75 6c 64 20 63 |t policy| could c|
|00001500| 65 72 74 61 69 6e 6c 79 | 20 62 65 20 69 6d 70 72 |ertainly| be impr|
|00001510| 6f 76 65 64 2e 20 41 6e | 20 6f 70 74 69 6f 6e 20 |oved. An| option |
|00001520| 0a 63 6f 75 6c 64 20 62 | 65 20 73 65 74 20 74 6f |.could b|e set to|
|00001530| 20 64 6f 20 61 20 57 69 | 6d 70 5f 50 6f 6c 6c 20 | do a Wi|mp_Poll |
|00001540| 63 61 6c 6c 20 77 68 65 | 6e 20 61 20 56 53 49 20 |call whe|n a VSI |
|00001550| 68 61 70 70 65 6e 73 20 | 0a 61 6e 64 20 64 6f 20 |happens |.and do |
|00001560| 74 68 65 20 74 72 61 6e | 73 66 65 72 73 20 69 6e |the tran|sfers in|
|00001570| 20 74 68 65 20 62 61 63 | 6b 67 72 6f 75 6e 64 2e | the bac|kground.|
|00001580| 0a 0a 57 69 74 68 20 74 | 68 65 73 65 20 64 65 76 |..With t|hese dev|
|00001590| 65 6c 6f 70 6d 65 6e 74 | 73 20 6c 61 72 67 65 20 |elopment|s large |
|000015a0| 43 20 70 72 6f 67 72 61 | 6d 73 20 63 6f 75 6c 64 |C progra|ms could|
|000015b0| 20 62 65 20 72 75 6e 20 | 0a 71 75 69 74 65 20 65 | be run |.quite e|
|000015c0| 61 73 69 6c 79 20 69 6e | 20 76 69 72 74 75 61 6c |asily in| virtual|
|000015d0| 20 73 74 6f 72 65 2e 20 | 54 68 65 20 6f 6e 6c 79 | store. |The only|
|000015e0| 20 73 70 61 63 65 20 74 | 68 61 74 20 77 6f 75 6c | space t|hat woul|
|000015f0| 64 20 0a 62 65 20 6c 6f | 63 6b 65 64 20 69 6e 20 |d .be lo|cked in |
|00001600| 73 74 6f 72 65 20 77 6f | 75 6c 64 20 62 65 20 74 |store wo|uld be t|
|00001610| 68 65 20 57 69 6d 70 20 | 66 72 6f 6e 74 20 65 6e |he Wimp |front en|
|00001620| 64 73 2e 20 49 6e 20 66 | 61 63 74 20 49 20 0a 62 |ds. In f|act I .b|
|00001630| 65 6c 69 65 76 65 20 74 | 68 65 20 6d 61 69 6e 20 |elieve t|he main |
|00001640| 75 73 65 20 63 6f 75 6c | 64 20 62 65 20 74 6f 20 |use coul|d be to |
|00001650| 61 6c 6c 6f 77 20 6c 61 | 72 67 65 20 70 72 6f 67 |allow la|rge prog|
|00001660| 72 61 6d 73 20 74 6f 20 | 0a 73 6c 65 65 70 20 69 |rams to |.sleep i|
|00001670| 6e 20 74 68 65 20 62 61 | 63 6b 67 72 6f 75 6e 64 |n the ba|ckground|
|00001680| 20 77 69 74 68 6f 75 74 | 20 63 6f 6e 73 75 6d 69 | without| consumi|
|00001690| 6e 67 20 73 70 61 63 65 | 20 77 68 65 6e 20 74 68 |ng space| when th|
|000016a0| 65 79 20 0a 61 72 65 20 | 6e 6f 74 20 61 63 74 75 |ey .are |not actu|
|000016b0| 61 6c 6c 79 20 70 72 6f | 63 65 73 73 69 6e 67 2e |ally pro|cessing.|
|000016c0| 0a 0a 53 6f 20 68 6f 77 | 20 64 6f 65 73 20 76 69 |..So how| does vi|
|000016d0| 72 74 75 61 6c 20 73 74 | 6f 72 65 20 77 6f 72 6b |rtual st|ore work|
|000016e0| 20 6f 75 74 20 69 6e 20 | 70 72 61 63 74 69 63 65 | out in |practice|
|000016f0| 20 69 6e 20 56 53 49 5f | 53 69 65 76 65 3f 20 0a | in VSI_|Sieve? .|
|00001700| 53 61 64 6c 79 20 74 68 | 69 73 20 70 72 6f 67 72 |Sadly th|is progr|
|00001710| 61 6d 20 69 73 20 6e 6f | 74 20 73 74 72 75 63 74 |am is no|t struct|
|00001720| 75 72 65 64 20 74 6f 20 | 75 73 65 20 76 69 72 74 |ured to |use virt|
|00001730| 75 61 6c 20 73 74 6f 72 | 65 20 0a 65 66 66 69 63 |ual stor|e .effic|
|00001740| 69 65 6e 74 6c 79 2e 20 | 54 68 65 20 70 72 6f 67 |iently. |The prog|
|00001750| 72 61 6d 20 64 6f 65 73 | 20 72 65 70 65 61 74 65 |ram does| repeate|
|00001760| 64 20 6c 69 6e 65 61 72 | 20 70 61 73 73 65 73 20 |d linear| passes |
|00001770| 74 68 72 6f 75 67 68 20 | 0a 74 68 65 20 64 61 74 |through |.the dat|
|00001780| 61 20 73 6f 20 65 76 65 | 72 79 20 70 61 67 65 20 |a so eve|ry page |
|00001790| 6b 65 65 70 73 20 62 65 | 69 6e 67 20 6c 6f 61 64 |keeps be|ing load|
|000017a0| 65 64 20 69 6e 20 69 6e | 20 74 75 72 6e 20 2d 20 |ed in in| turn - |
|000017b0| 74 68 65 72 65 20 0a 69 | 73 20 6e 6f 20 72 65 61 |there .i|s no rea|
|000017c0| 6c 20 77 6f 72 6b 69 6e | 67 20 73 65 74 20 61 74 |l workin|g set at|
|000017d0| 20 61 6e 79 20 73 74 61 | 67 65 2e 20 41 6e 64 20 | any sta|ge. And |
|000017e0| 74 68 65 72 65 20 61 72 | 65 20 61 20 6c 6f 74 20 |there ar|e a lot |
|000017f0| 6f 66 20 0a 70 61 73 73 | 65 73 20 77 68 65 6e 20 |of .pass|es when |
|00001800| 74 72 79 69 6e 67 20 74 | 6f 20 66 69 6e 64 20 74 |trying t|o find t|
|00001810| 68 65 20 6d 69 6c 6c 69 | 6f 6e 74 68 20 70 72 69 |he milli|onth pri|
|00001820| 6d 65 20 75 73 69 6e 67 | 20 61 20 6d 65 67 61 62 |me using| a megab|
|00001830| 79 74 65 20 0a 6f 66 20 | 76 69 72 74 75 61 6c 20 |yte .of |virtual |
|00001840| 73 74 6f 72 65 2e 20 49 | 20 65 73 74 69 6d 61 74 |store. I| estimat|
|00001850| 65 20 74 68 65 20 70 72 | 6f 67 72 61 6d 20 73 68 |e the pr|ogram sh|
|00001860| 6f 75 6c 64 20 74 61 6b | 65 20 61 20 63 6f 75 70 |ould tak|e a coup|
|00001870| 6c 65 20 0a 6f 66 20 64 | 61 79 73 20 74 6f 20 64 |le .of d|ays to d|
|00001880| 6f 20 74 68 65 20 6a 6f | 62 20 62 75 74 20 49 20 |o the jo|b but I |
|00001890| 68 61 76 65 6e 27 74 20 | 74 68 65 20 70 61 74 69 |haven't |the pati|
|000018a0| 65 6e 63 65 2e 20 54 68 | 65 20 70 72 6f 67 72 61 |ence. Th|e progra|
|000018b0| 6d 20 0a 63 6f 75 6c 64 | 20 62 65 20 62 65 74 74 |m .could| be bett|
|000018c0| 65 72 20 73 74 72 75 63 | 74 75 72 65 64 20 74 6f |er struc|tured to|
|000018d0| 20 63 6f 75 6e 74 20 61 | 6c 6c 20 74 68 65 20 70 | count a|ll the p|
|000018e0| 72 69 6d 65 73 20 69 6e | 20 61 20 62 6c 6f 63 6b |rimes in| a block|
|000018f0| 20 0a 61 74 20 61 20 74 | 69 6d 65 20 2d 20 61 6c | .at a t|ime - al|
|00001900| 73 6f 20 74 68 69 73 20 | 77 6f 75 6c 64 20 62 65 |so this |would be|
|00001910| 20 6d 6f 72 65 20 73 65 | 6e 73 69 62 6c 65 20 74 | more se|nsible t|
|00001920| 68 61 6e 20 74 72 79 69 | 6e 67 20 74 6f 20 0a 65 |han tryi|ng to .e|
|00001930| 73 74 69 6d 61 74 65 20 | 69 6e 20 61 64 76 61 6e |stimate |in advan|
|00001940| 63 65 20 68 6f 77 20 6d | 61 6e 79 20 6e 75 6d 62 |ce how m|any numb|
|00001950| 65 72 73 20 74 6f 20 6c | 6f 6f 6b 20 61 74 20 74 |ers to l|ook at t|
|00001960| 6f 20 67 65 74 20 74 6f | 20 0a 74 68 65 20 6d 69 |o get to| .the mi|
|00001970| 6c 6c 69 6f 6e 74 68 20 | 70 72 69 6d 65 2e 0a 0a |llionth |prime...|
|00001980| 52 75 6e 20 56 53 49 5f | 53 69 65 76 65 20 77 69 |Run VSI_|Sieve wi|
|00001990| 74 68 20 61 20 74 6f 70 | 20 6c 69 6d 69 74 20 6f |th a top| limit o|
|000019a0| 66 20 31 30 30 30 30 30 | 30 20 61 6e 64 20 61 20 |f 100000|0 and a |
|000019b0| 63 75 72 72 65 6e 74 20 | 0a 64 69 72 65 63 74 6f |current |.directo|
|000019c0| 72 79 20 77 69 74 68 20 | 61 20 71 75 61 72 74 65 |ry with |a quarte|
|000019d0| 72 20 6d 65 67 61 62 79 | 74 65 20 66 72 65 65 2e |r megaby|te free.|
|000019e0| 20 54 68 69 73 20 77 69 | 6c 6c 20 6d 61 6b 65 20 | This wi|ll make |
|000019f0| 74 68 65 20 64 69 73 6b | 20 0a 63 68 61 74 74 65 |the disk| .chatte|
|00001a00| 72 20 66 6f 72 20 61 20 | 77 68 69 6c 65 20 61 6e |r for a |while an|
|00001a10| 64 20 65 76 65 6e 74 75 | 61 6c 6c 79 20 72 65 70 |d eventu|ally rep|
|00001a20| 6f 72 74 20 74 68 65 20 | 6e 75 6d 62 65 72 20 6f |ort the |number o|
|00001a30| 66 20 70 72 69 6d 65 73 | 20 0a 62 65 6c 6f 77 20 |f primes| .below |
|00001a40| 61 20 6d 69 6c 6c 69 6f | 6e 2e 20 53 6d 61 6c 6c |a millio|n. Small|
|00001a50| 65 72 20 76 61 6c 75 65 | 73 20 74 68 61 6e 20 61 |er value|s than a|
|00001a60| 62 6f 75 74 20 38 30 30 | 30 30 30 20 64 6f 6e 27 |bout 800|000 don'|
|00001a70| 74 20 72 65 71 75 69 72 | 65 0a 70 61 67 65 69 6e |t requir|e.pagein|
|00001a80| 67 2e 20 0a 0a 46 69 6c | 65 44 61 74 61 82 56 53 |g. ..Fil|eData.VS|
|00001a90| 49 5f 53 69 65 76 65 00 | 00 2f 41 00 00 44 fb ff |I_Sieve.|./A..D..|
|00001aa0| ff 6f d3 60 1e 03 00 65 | 57 0d 00 0a 10 f4 20 3e |.o.`...e|W..... >|
|00001ab0| 56 53 49 5f 53 69 65 76 | 65 0d 00 14 24 f4 20 53 |VSI_Siev|e...$. S|
|00001ac0| 69 65 76 65 20 6f 66 20 | 45 72 61 73 74 6f 74 68 |ieve of |Erastoth|
|00001ad0| 65 6e 65 73 20 69 6e 20 | 42 41 53 49 43 0d 00 1e |enes in |BASIC...|
|00001ae0| 34 f4 20 42 79 20 4a 2e | 50 2e 20 48 65 6e 64 72 |4. By J.|P. Hendr|
|00001af0| 69 78 20 26 20 4d 2e 20 | 48 65 6e 64 72 69 78 20 |ix & M. |Hendrix |
|00001b00| 2d 20 54 68 65 20 4e 65 | 74 68 65 72 6c 61 6e 64 |- The Ne|therland|
|00001b10| 73 0d 00 28 39 f4 20 56 | 69 72 74 75 61 6c 20 53 |s..(9. V|irtual S|
|00001b20| 74 6f 72 65 20 49 6e 74 | 65 72 72 75 70 74 20 68 |tore Int|errupt h|
|00001b30| 61 6e 64 6c 69 6e 67 20 | 62 79 20 44 61 76 69 64 |andling |by David|
|00001b40| 20 4d 63 51 75 69 6c 6c | 61 6e 0d 00 32 3d f4 20 | McQuill|an..2=. |
|00001b50| 54 68 65 20 76 69 72 74 | 75 61 6c 20 73 74 6f 72 |The virt|ual stor|
|00001b60| 65 20 69 6e 74 65 72 72 | 75 70 74 20 68 61 6e 64 |e interr|upt hand|
|00001b70| 6c 69 6e 67 20 69 73 20 | 50 75 62 6c 69 63 20 44 |ling is |Public D|
|00001b80| 6f 6d 61 69 6e 20 2d 0d | 00 3c 38 f4 20 79 6f 75 |omain -.|.<8. you|
|00001b90| 20 6d 61 79 20 64 6f 20 | 77 68 61 74 20 79 6f 75 | may do |what you|
|00001ba0| 20 6c 69 6b 65 20 77 69 | 74 68 20 69 74 20 61 74 | like wi|th it at|
|00001bb0| 20 79 6f 75 72 20 6f 77 | 6e 20 72 69 73 6b 2c 0d | your ow|n risk,.|
|00001bc0| 00 46 39 f4 20 61 6e 64 | 20 79 6f 75 27 64 20 62 |.F9. and| you'd b|
|00001bd0| 65 74 74 65 72 20 64 6f | 6e 65 20 73 6f 6d 65 20 |etter do|ne some |
|00001be0| 6d 6f 72 65 20 74 65 73 | 74 69 6e 67 20 6f 66 20 |more tes|ting of |
|00001bf0| 69 74 20 77 68 69 6c 65 | 0d 00 50 13 f4 20 79 6f |it while|..P.. yo|
|00001c00| 75 27 72 65 20 61 74 20 | 69 74 2e 0d 00 5a 04 0d |u're at |it...Z..|
|00001c10| 00 64 35 f4 20 2a 2a 2a | 2a 20 4d 75 73 74 20 6e |.d5. ***|* Must n|
|00001c20| 6f 74 20 62 65 20 72 75 | 6e 20 69 6e 20 61 20 54 |ot be ru|n in a T|
|00001c30| 61 73 6b 20 77 69 6e 64 | 6f 77 20 76 69 61 20 21 |ask wind|ow via !|
|00001c40| 45 64 69 74 0d 00 6e 30 | f4 20 61 73 20 54 61 73 |Edit..n0|. as Tas|
|00001c50| 6b 20 4d 61 6e 61 67 65 | 72 20 77 69 6c 6c 20 72 |k Manage|r will r|
|00001c60| 65 73 65 74 20 74 68 65 | 20 6d 65 6d 6f 72 79 20 |eset the| memory |
|00001c70| 6d 61 70 2e 0d 00 78 04 | 0d 00 82 38 f4 20 49 6c |map...x.|...8. Il|
|00001c80| 6c 75 73 74 72 61 74 65 | 73 20 56 69 72 74 75 61 |lustrate|s Virtua|
|00001c90| 6c 20 53 74 6f 72 65 20 | 68 61 6e 64 6c 69 6e 67 |l Store |handling|
|00001ca0| 2e 20 48 6f 6f 6b 73 20 | 70 72 6f 76 69 64 65 64 |. Hooks |provided|
|00001cb0| 0d 00 8c 3c f4 20 74 6f | 20 75 73 65 20 75 6e 64 |...<. to| use und|
|00001cc0| 65 72 20 57 69 6d 70 2e | 20 56 69 72 74 75 61 6c |er Wimp.| Virtual|
|00001cd0| 20 73 74 6f 72 65 20 6d | 75 73 74 20 6e 6f 74 20 | store m|ust not |
|00001ce0| 62 65 20 70 61 73 73 65 | 64 20 74 6f 0d 00 96 39 |be passe|d to...9|
|00001cf0| f4 20 73 79 73 74 65 6d | 2c 20 75 73 65 64 20 69 |. system|, used i|
|00001d00| 6e 20 6e 6f 6e 2d 75 73 | 65 72 20 6d 6f 64 65 20 |n non-us|er mode |
|00001d10| 6f 72 20 66 72 6f 6d 20 | 61 6e 20 69 6e 74 65 72 |or from |an inter|
|00001d20| 72 75 70 74 2e 0d 00 a0 | 36 f4 20 54 68 65 20 56 |rupt....|6. The V|
|00001d30| 53 49 20 68 61 6e 64 6c | 65 72 20 72 75 6e 73 20 |SI handl|er runs |
|00001d40| 69 6e 20 75 73 65 72 20 | 6d 6f 64 65 20 77 68 65 |in user |mode whe|
|00001d50| 6e 20 73 61 76 69 6e 67 | 20 6f 72 0d 00 aa 2a f4 |n saving| or...*.|
|00001d60| 20 6c 6f 61 64 69 6e 67 | 20 70 61 67 65 73 20 61 | loading| pages a|
|00001d70| 6e 64 20 69 73 20 6e 6f | 74 20 72 65 2d 65 6e 74 |nd is no|t re-ent|
|00001d80| 72 61 6e 74 2e 0d 00 b4 | 04 0d 00 be 3a f4 20 46 |rant....|....:. F|
|00001d90| 69 6c 65 20 22 56 53 49 | 46 69 6c 65 22 20 77 69 |ile "VSI|File" wi|
|00001da0| 6c 6c 20 62 65 20 63 72 | 65 61 74 65 64 20 61 6e |ll be cr|eated an|
|00001db0| 64 20 75 73 65 64 20 69 | 66 20 54 6f 70 20 4c 69 |d used i|f Top Li|
|00001dc0| 6d 69 74 0d 00 c8 39 f4 | 20 69 73 20 68 69 67 68 |mit...9.| is high|
|00001dd0| 20 65 6e 6f 75 67 68 20 | 2d 20 65 2e 67 2e 20 31 | enough |- e.g. 1|
|00001de0| 30 30 30 30 30 30 2e 20 | 56 69 72 74 75 61 6c 20 |000000. |Virtual |
|00001df0| 73 74 6f 72 65 20 6e 65 | 65 64 65 64 0d 00 d2 16 |store ne|eded....|
|00001e00| f4 20 69 73 20 28 54 6f | 70 20 4c 69 6d 69 74 29 |. is (To|p Limit)|
|00001e10| 2f 38 0d 00 dc 04 0d 00 | e6 11 56 53 49 5f 41 63 |/8......|..VSI_Ac|
|00001e20| 74 69 76 65 25 3d a3 0d | 00 f0 04 0d 00 fa 10 ee |tive%=..|........|
|00001e30| 20 85 20 f2 65 72 72 6f | 72 3a e0 0d 01 04 04 0d | . .erro|r:......|
|00001e40| 01 0e 12 52 25 3d 38 2a | 31 30 32 34 2a 31 30 32 |...R%=8*|1024*102|
|00001e50| 34 0d 01 18 04 0d 01 22 | 1d f1 20 22 53 69 65 76 |4......"|.. "Siev|
|00001e60| 65 20 6f 66 20 45 72 61 | 73 74 6f 74 68 65 6e 65 |e of Era|stothene|
|00001e70| 73 22 0d 01 2c 1c e8 20 | 22 45 6e 74 65 72 20 54 |s"..,.. |"Enter T|
|00001e80| 6f 70 20 4c 69 6d 69 74 | 20 3a 22 3b 4d 25 0d 01 |op Limit| :";M%..|
|00001e90| 36 07 d1 3d 30 0d 01 40 | 04 0d 01 4a 0d 43 25 3d |6..=0..@|...J.C%=|
|00001ea0| 4d 25 2f 38 2b 31 0d 01 | 54 04 0d 01 5e 2a 74 61 |M%/8+1..|T...^*ta|
|00001eb0| 62 65 6c 25 3d a4 5f 56 | 53 49 5f 53 65 74 75 70 |bel%=._V|SI_Setup|
|00001ec0| 28 31 2c 31 30 30 2b 43 | 25 2c 22 56 53 49 66 69 |(1,100+C|%,"VSIfi|
|00001ed0| 6c 65 22 29 0d 01 68 04 | 0d 01 72 1d f1 20 27 27 |le")..h.|..r.. ''|
|00001ee0| 27 22 43 6c 65 61 72 69 | 6e 67 20 6d 65 6d 6f 72 |'"Cleari|ng memor|
|00001ef0| 79 2e 2e 2e 22 0d 01 ea | 04 0d 01 f4 1b e3 20 41 |y..."...|...... A|
|00001f00| 44 25 3d 30 20 b8 20 4d | 25 2f 38 2b 2e 38 37 35 |D%=0 . M|%/8+.875|
|00001f10| 20 88 20 34 0d 01 fe 1d | 20 20 21 28 74 61 62 65 | . 4....| !(tabe|
|00001f20| 6c 25 2b 41 44 25 29 3d | 26 41 41 41 41 41 41 41 |l%+AD%)=|&AAAAAAA|
|00001f30| 41 0d 02 08 05 ed 0d 02 | 12 04 0d 02 1c 0f 3f 74 |A.......|......?t|
|00001f40| 61 62 65 6c 25 3d 26 41 | 43 0d 02 26 21 54 25 3d |abel%=&A|C..&!T%=|
|00001f50| 91 20 3a f1 20 22 20 22 | 54 25 2f 31 30 30 22 20 |. :. " "|T%/100" |
|00001f60| 53 65 63 6f 6e 64 28 73 | 29 22 0d 02 30 04 0d 02 |Second(s|)"..0...|
|00001f70| 3a 18 f1 27 27 22 20 43 | 61 6c 63 75 6c 61 74 69 |:..''" C|alculati|
|00001f80| 6e 67 2e 2e 2e 22 0d 02 | 44 04 0d 02 4e 07 d1 3d |ng..."..|D...N..=|
|00001f90| 30 0d 02 58 0a 4d 69 6c | 25 3d 30 0d 02 62 0f 54 |0..X.Mil|%=0..b.T|
|00001fa0| 31 25 3d 30 3a 54 32 25 | 3d 30 0d 02 6c 08 50 25 |1%=0:T2%|=0..l.P%|
|00001fb0| 3d 33 0d 02 76 04 0d 02 | 80 23 f4 20 55 73 65 20 |=3..v...|.#. Use |
|00001fc0| 74 61 62 6c 65 20 66 6f | 72 20 66 69 72 73 74 20 |table fo|r first |
|00001fd0| 33 31 20 70 72 69 6d 65 | 73 0d 02 8a 04 0d 02 94 |31 prime|s.......|
|00001fe0| 0e de 20 50 56 25 20 33 | 31 2a 34 0d 02 9e 04 0d |.. PV% 3|1*4.....|
|00001ff0| 02 a8 05 f5 0d 02 b2 57 | 20 20 f1 20 22 41 66 74 |.......W| . "Aft|
|00002000| 65 72 20 22 3b 28 54 32 | 25 2d 54 31 25 29 2f 31 |er ";(T2|%-T1%)/1|
|00002010| 30 30 22 20 73 65 63 6f | 6e 64 73 20 73 74 61 72 |00" seco|nds star|
|00002020| 74 20 74 6f 20 6f 6d 69 | 74 20 66 72 6f 6d 3a 20 |t to omi|t from: |
|00002030| 22 3b 50 25 5e 32 22 2c | 20 77 69 74 68 20 73 74 |";P%^2",| with st|
|00002040| 65 70 73 20 6f 66 3a 20 | 22 50 25 0d 02 bc 0b 20 |eps of: |"P%.... |
|00002050| 20 54 31 25 3d 91 0d 02 | c6 11 20 20 e7 20 50 25 | T1%=...|.. . P%|
|00002060| 20 3c 20 33 31 20 8c 0d | 02 d0 29 20 20 20 20 e3 | < 31 ..|..) .|
|00002070| 20 41 44 25 3d 30 20 b8 | 20 34 2a 50 25 2d 31 20 | AD%=0 .| 4*P%-1 |
|00002080| 88 20 34 3a 50 56 25 21 | 41 44 25 3d 2d 31 3a ed |. 4:PV%!|AD%=-1:.|
|00002090| 0d 02 da 1e 20 20 20 20 | e3 20 41 44 25 3d 30 20 |.... |. AD%=0 |
|000020a0| b8 20 33 32 2a 50 25 2d | 31 20 88 20 50 25 0d 02 |. 32*P%-|1 . P%..|
|000020b0| e4 19 20 20 20 20 20 20 | 56 25 3d 50 56 25 2b 28 |.. |V%=PV%+(|
|000020c0| 41 44 25 3e 3e 33 29 0d | 02 ee 24 20 20 20 20 20 |AD%>>3).|..$ |
|000020d0| 20 3f 56 25 3d 3f 56 25 | 20 80 20 ac 20 28 31 3c | ?V%=?V%| . . (1<|
|000020e0| 3c 28 41 44 25 20 80 20 | 37 29 29 0d 02 f8 09 20 |<(AD% . |7)).... |
|000020f0| 20 20 20 ed 0d 03 02 1b | e3 20 41 44 25 3d 30 20 | .....|. AD%=0 |
|00002100| b8 20 4d 25 2f 38 2b 2e | 38 37 35 20 88 20 34 0d |. M%/8+.|875 . 4.|
|00002110| 03 0c 13 20 20 56 25 3d | 74 61 62 65 6c 25 2b 41 |... V%=|tabel%+A|
|00002120| 44 25 0d 03 16 22 20 20 | 21 56 25 3d 21 56 25 20 |D%..." |!V%=!V% |
|00002130| 80 20 50 56 25 21 28 41 | 44 25 20 83 20 28 50 25 |. PV%!(A|D% . (P%|
|00002140| 2a 34 29 29 0d 03 20 05 | ed 0d 03 2a 19 20 20 20 |*4)).. .|...*. |
|00002150| 20 56 25 3d 74 61 62 65 | 6c 25 2b 28 50 25 3e 3e | V%=tabe|l%+(P%>>|
|00002160| 33 29 0d 03 34 1f 20 20 | 20 20 3f 56 25 3d 3f 56 |3)..4. | ?V%=?V|
|00002170| 25 20 84 20 28 31 3c 3c | 28 50 25 20 80 20 37 29 |% . (1<<|(P% . 7)|
|00002180| 29 0d 03 3e 07 20 20 cc | 0d 03 48 18 e3 20 41 44 |)..>. .|..H.. AD|
|00002190| 25 3d 50 25 5e 32 20 b8 | 20 4d 25 20 88 20 50 25 |%=P%^2 .| M% . P%|
|000021a0| 0d 03 52 18 20 20 56 25 | 3d 74 61 62 65 6c 25 2b |..R. V%|=tabel%+|
|000021b0| 28 41 44 25 3e 3e 33 29 | 0d 03 5c 20 20 20 3f 56 |(AD%>>3)|..\ ?V|
|000021c0| 25 3d 3f 56 25 20 80 20 | ac 20 28 31 3c 3c 28 41 |%=?V% . |. (1<<(A|
|000021d0| 44 25 20 80 20 37 29 29 | 0d 03 66 05 ed 0d 03 70 |D% . 7))|..f....p|
|000021e0| 07 20 20 cd 0d 03 7a 07 | 20 20 f5 0d 03 84 0d 20 |. ...z.| ..... |
|000021f0| 20 20 20 50 25 2b 3d 31 | 0d 03 8e 11 20 20 20 20 | P%+=1|.... |
|00002200| 41 44 25 3d 50 25 3e 3e | 33 0d 03 98 2a 20 20 20 |AD%=P%>>|3...* |
|00002210| 20 56 25 3d 28 3f 28 74 | 61 62 65 6c 25 2b 41 44 | V%=(?(t|abel%+AD|
|00002220| 25 29 29 20 80 20 28 31 | 3c 3c 28 50 25 20 80 20 |%)) . (1|<<(P% . |
|00002230| 37 29 29 0d 03 a2 0c 20 | 20 fd 20 56 25 3e 30 0d |7)).... | . V%>0.|
|00002240| 03 ac 0b 20 20 54 32 25 | 3d 91 0d 03 b6 0f fd 20 |... T2%|=...... |
|00002250| 28 50 25 5e 32 29 3e 4d | 25 0d 03 c0 04 0d 03 ca |(P%^2)>M|%.......|
|00002260| 33 f1 20 27 27 27 22 50 | 72 69 6d 65 73 20 63 61 |3. '''"P|rimes ca|
|00002270| 6c 63 75 6c 61 74 65 64 | 20 69 6e 3a 20 22 3b 91 |lculated| in: ";.|
|00002280| 2f 31 30 30 3b 22 20 73 | 65 63 6f 6e 64 73 2e 22 |/100;" s|econds."|
|00002290| 0d 03 d4 04 0d 03 de 13 | f1 20 22 43 6f 75 6e 74 |........|. "Count|
|000022a0| 69 6e 67 2e 2e 2e 22 0d | 03 e8 04 0d 03 f2 0c 43 |ing...".|.......C|
|000022b0| 6f 75 6e 74 25 3d 30 0d | 03 fc 13 e3 20 50 25 3d |ount%=0.|.... P%=|
|000022c0| 30 20 b8 20 4d 25 20 88 | 20 38 0d 04 06 1a 20 20 |0 . M% .| 8.... |
|000022d0| 56 25 3d 3f 28 74 61 62 | 65 6c 25 2b 28 50 25 3e |V%=?(tab|el%+(P%>|
|000022e0| 3e 33 29 29 0d 04 10 23 | 20 20 e7 20 50 25 2b 37 |>3))...#| . P%+7|
|000022f0| 20 3e 20 4d 25 20 8c 20 | 4c 25 3d 4d 25 2d 50 25 | > M% . |L%=M%-P%|
|00002300| 20 8b 20 4c 25 3d 37 0d | 04 1a 11 20 20 e3 20 44 | . L%=7.|... . D|
|00002310| 25 3d 30 20 b8 20 4c 25 | 0d 04 24 3e 20 20 20 20 |%=0 . L%|..$> |
|00002320| e7 20 28 56 25 20 80 20 | 28 31 3c 3c 44 25 29 29 |. (V% . |(1<<D%))|
|00002330| 20 8c 20 43 6f 75 6e 74 | 25 2b 3d 31 3a e7 20 43 | . Count|%+=1:. C|
|00002340| 6f 75 6e 74 25 3d 31 45 | 36 20 8c 20 4d 69 6c 25 |ount%=1E|6 . Mil%|
|00002350| 3d 50 25 2b 44 25 0d 04 | 2e 07 20 20 ed 0d 04 38 |=P%+D%..|.. ...8|
|00002360| 05 ed 0d 04 42 04 0d 04 | 4c 30 f1 20 27 27 43 6f |....B...|L0. ''Co|
|00002370| 75 6e 74 25 20 22 20 50 | 72 69 6d 65 73 20 66 6f |unt% " P|rimes fo|
|00002380| 75 6e 64 20 62 65 74 77 | 65 65 6e 20 30 20 61 6e |und betw|een 0 an|
|00002390| 64 20 22 3b 4d 25 0d 04 | 56 2d e7 20 4d 69 6c 25 |d ";M%..|V-. Mil%|
|000023a0| 3e 30 20 8c 20 f1 20 4d | 69 6c 25 22 20 3d 20 74 |>0 . . M|il%" = t|
|000023b0| 68 65 20 6d 69 6c 6c 69 | 6f 6e 74 68 20 70 72 69 |he milli|onth pri|
|000023c0| 6d 65 22 0d 04 60 04 0d | 04 6a 11 f2 5f 56 53 49 |me"..`..|.j.._VSI|
|000023d0| 5f 53 74 6f 70 28 b9 29 | 0d 04 74 05 e0 0d 04 7e |_Stop(.)|..t....~|
|000023e0| 04 0d 04 88 30 f4 20 45 | 72 72 6f 72 20 72 6f 75 |....0. E|rror rou|
|000023f0| 74 69 6e 65 20 77 68 69 | 63 68 20 72 65 73 65 74 |tine whi|ch reset|
|00002400| 73 20 74 68 65 20 56 53 | 49 20 68 61 6e 64 6c 65 |s the VS|I handle|
|00002410| 72 0d 04 92 04 0d 04 9c | 0c dd 20 f2 65 72 72 6f |r.......|.. .erro|
|00002420| 72 0d 04 a6 14 f1 20 f6 | 24 2b 22 20 69 6e 20 22 |r..... .|$+" in "|
|00002430| 2b c3 28 9e 29 0d 04 b0 | 21 e7 20 56 53 49 5f 41 |+.(.)...|!. VSI_A|
|00002440| 63 74 69 76 65 25 20 8c | 20 f2 5f 56 53 49 5f 53 |ctive% .| ._VSI_S|
|00002450| 74 6f 70 28 b9 29 0d 04 | ba 05 e0 0d 04 c4 04 0d |top(.)..|........|
|00002460| 04 ce 04 0d 04 d8 34 f4 | 20 52 6f 75 74 69 6e 65 |......4.| Routine|
|00002470| 73 20 74 6f 20 69 6d 70 | 6c 65 6d 65 6e 74 20 56 |s to imp|lement V|
|00002480| 69 72 74 75 61 6c 20 53 | 74 6f 72 65 20 49 6e 74 |irtual S|tore Int|
|00002490| 65 72 72 75 70 74 73 0d | 04 e2 2e f4 20 4e 6f 20 |errupts.|.... No |
|000024a0| 76 69 72 74 75 61 6c 20 | 73 74 6f 72 65 20 61 72 |virtual |store ar|
|000024b0| 65 61 20 6d 61 79 20 62 | 65 20 70 61 73 73 65 64 |ea may b|e passed|
|000024c0| 20 6f 76 65 72 0d 04 ec | 32 f4 20 74 6f 20 74 68 | over...|2. to th|
|000024d0| 65 20 6f 70 65 72 61 74 | 69 6e 67 20 73 79 73 74 |e operat|ing syst|
|000024e0| 65 6d 20 61 73 20 6f 6e | 6c 79 20 56 53 49 73 20 |em as on|ly VSIs |
|000024f0| 69 6e 20 75 73 65 72 0d | 04 f6 33 f4 20 6d 6f 64 |in user.|..3. mod|
|00002500| 65 20 63 61 6e 20 62 65 | 20 68 61 6e 64 6c 65 64 |e can be| handled|
|00002510| 2e 20 41 6c 73 6f 20 61 | 6e 79 20 63 6f 64 65 20 |. Also a|ny code |
|00002520| 69 6e 20 76 69 72 74 75 | 61 6c 0d 05 00 2f f4 20 |in virtu|al.../. |
|00002530| 73 74 6f 72 65 20 6d 75 | 73 74 20 6f 6e 6c 79 20 |store mu|st only |
|00002540| 62 65 20 65 78 65 63 75 | 74 65 64 20 69 6e 20 75 |be execu|ted in u|
|00002550| 73 65 72 20 6d 6f 64 65 | 2e 0d 05 0a 04 0d 05 14 |ser mode|........|
|00002560| 04 0d 05 1e 39 f4 20 55 | 73 65 20 46 4e 5f 56 53 |....9. U|se FN_VS|
|00002570| 49 5f 53 65 74 75 70 20 | 74 6f 20 73 74 61 72 74 |I_Setup |to start|
|00002580| 20 75 70 20 76 69 72 74 | 75 61 6c 20 73 74 6f 72 | up virt|ual stor|
|00002590| 65 20 68 61 6e 64 6c 69 | 6e 67 0d 05 28 15 f4 20 |e handli|ng..(.. |
|000025a0| 50 61 72 61 6d 65 74 65 | 72 73 20 61 72 65 3a 0d |Paramete|rs are:.|
|000025b0| 05 32 35 f4 20 20 20 54 | 68 65 20 6d 69 6e 69 6d |.25. T|he minim|
|000025c0| 75 6d 20 73 69 7a 65 20 | 6f 66 20 74 68 65 20 70 |um size |of the p|
|000025d0| 68 79 73 69 63 61 6c 20 | 73 74 6f 72 65 20 74 6f |hysical |store to|
|000025e0| 20 75 73 65 0d 05 3c 30 | f4 20 20 20 54 68 65 20 | use..<0|. The |
|000025f0| 73 69 7a 65 20 6f 66 20 | 74 68 65 20 76 69 72 74 |size of |the virt|
|00002600| 75 61 6c 20 73 74 6f 72 | 65 20 74 6f 20 62 65 20 |ual stor|e to be |
|00002610| 75 73 65 64 0d 05 46 26 | f4 20 20 20 46 69 6c 65 |used..F&|. File|
|00002620| 20 74 6f 20 62 65 20 75 | 73 65 64 20 66 6f 72 20 | to be u|sed for |
|00002630| 73 77 61 70 20 73 70 61 | 63 65 0d 05 50 35 f4 20 |swap spa|ce..P5. |
|00002640| 52 65 74 75 72 6e 73 20 | 74 68 65 20 61 64 64 72 |Returns |the addr|
|00002650| 65 73 73 20 6f 66 20 74 | 68 65 20 76 69 72 74 75 |ess of t|he virtu|
|00002660| 61 6c 20 73 74 6f 72 65 | 20 73 70 61 63 65 2e 0d |al store| space..|
|00002670| 05 5a 04 0d 05 64 27 dd | 20 a4 5f 56 53 49 5f 53 |.Z...d'.| ._VSI_S|
|00002680| 65 74 75 70 28 50 73 69 | 7a 65 25 2c 56 73 69 7a |etup(Psi|ze%,Vsiz|
|00002690| 65 25 2c 66 6e 61 6d 65 | 24 29 0d 05 6e 22 ea 20 |e%,fname|$)..n". |
|000026a0| 49 25 2c 4a 25 2c 4c 25 | 2c 4d 25 2c 4e 25 2c 56 |I%,J%,L%|,M%,N%,V|
|000026b0| 25 2c 56 30 25 2c 56 31 | 25 2c 58 25 0d 05 78 04 |%,V0%,V1|%,X%..x.|
|000026c0| 0d 05 82 32 c8 99 20 22 | 4f 53 5f 52 65 61 64 4d |...2.. "|OS_ReadM|
|000026d0| 65 6d 4d 61 70 49 6e 66 | 6f 22 20 b8 20 56 53 49 |emMapInf|o" . VSI|
|000026e0| 5f 50 61 67 65 53 69 7a | 65 25 2c 6e 70 61 67 65 |_PageSiz|e%,npage|
|000026f0| 73 25 0d 05 8c 21 f4 20 | 50 52 49 4e 54 20 56 53 |s%...!. |PRINT VS|
|00002700| 49 5f 50 61 67 65 53 69 | 7a 65 25 2c 6e 70 61 67 |I_PageSi|ze%,npag|
|00002710| 65 73 25 0d 05 96 04 0d | 05 a0 31 f4 20 46 6f 6c |es%.....|..1. Fol|
|00002720| 6c 6f 77 69 6e 67 20 63 | 61 6c 63 75 6c 61 74 69 |lowing c|alculati|
|00002730| 6f 6e 20 65 6e 73 75 72 | 65 73 20 50 73 70 61 63 |on ensur|es Pspac|
|00002740| 65 25 20 69 73 20 6f 6e | 0d 05 aa 32 f4 20 61 20 |e% is on|...2. a |
|00002750| 70 61 67 65 20 62 6f 75 | 6e 64 61 72 79 20 61 6e |page bou|ndary an|
|00002760| 64 20 68 61 73 20 65 76 | 65 6e 20 6e 75 6d 62 65 |d has ev|en numbe|
|00002770| 72 20 6f 66 20 70 61 67 | 65 73 0d 05 b4 10 f4 20 |r of pag|es..... |
|00002780| 61 6c 6c 6f 63 61 74 65 | 64 2e 0d 05 be 04 0d 05 |allocate|d.......|
|00002790| c8 34 f4 20 45 6e 73 75 | 72 65 20 61 74 20 6c 65 |.4. Ensu|re at le|
|000027a0| 61 73 74 20 33 20 70 68 | 79 73 69 63 61 6c 20 70 |ast 3 ph|ysical p|
|000027b0| 61 67 65 73 20 75 73 65 | 64 20 74 6f 20 61 6c 6c |ages use|d to all|
|000027c0| 6f 77 0d 05 d2 33 f4 20 | 66 6f 72 20 61 20 4c 44 |ow...3. |for a LD|
|000027d0| 4d 20 69 6e 20 6f 6e 65 | 20 70 61 67 65 20 61 63 |M in one| page ac|
|000027e0| 63 65 73 73 69 6e 67 20 | 32 20 6f 74 68 65 72 20 |cessing |2 other |
|000027f0| 70 61 67 65 73 0d 05 dc | 04 0d 05 e6 3b 50 73 69 |pages...|....;Psi|
|00002800| 7a 65 25 20 3d 20 28 50 | 73 69 7a 65 25 2b 56 53 |ze% = (P|size%+VS|
|00002810| 49 5f 50 61 67 65 53 69 | 7a 65 25 2d 31 29 20 80 |I_PageSi|ze%-1) .|
|00002820| 20 ac 20 28 56 53 49 5f | 50 61 67 65 53 69 7a 65 | . (VSI_|PageSize|
|00002830| 25 2d 31 29 0d 05 f0 39 | e7 20 50 73 69 7a 65 25 |%-1)...9|. Psize%|
|00002840| 20 3c 20 33 2a 56 53 49 | 5f 50 61 67 65 53 69 7a | < 3*VSI|_PageSiz|
|00002850| 65 25 20 8c 20 50 73 69 | 7a 65 25 20 3d 20 33 2a |e% . Psi|ze% = 3*|
|00002860| 56 53 49 5f 50 61 67 65 | 53 69 7a 65 25 0d 05 fa |VSI_Page|Size%...|
|00002870| 04 0d 06 04 17 e7 20 56 | 73 69 7a 65 25 20 3c 20 |...... V|size% < |
|00002880| 50 73 69 7a 65 25 20 8c | 0d 06 0e 32 20 20 f4 20 |Psize% .|...2 . |
|00002890| 45 6e 6f 75 67 68 20 50 | 68 79 73 69 63 61 6c 20 |Enough P|hysical |
|000028a0| 6d 65 6d 6f 72 79 20 69 | 73 20 61 76 61 69 6c 61 |memory i|s availa|
|000028b0| 62 6c 65 20 61 6e 79 77 | 61 79 0d 06 18 33 20 20 |ble anyw|ay...3 |
|000028c0| f4 20 44 6f 6e 27 74 20 | 62 6f 74 68 65 72 20 64 |. Don't |bother d|
|000028d0| 6f 69 6e 67 20 76 69 72 | 74 75 61 6c 20 73 74 6f |oing vir|tual sto|
|000028e0| 72 65 20 69 6e 74 65 72 | 72 75 70 74 73 0d 06 22 |re inter|rupts.."|
|000028f0| 04 0d 06 2c 13 20 20 56 | 53 49 5f 41 63 74 69 76 |...,. V|SI_Activ|
|00002900| 65 25 3d a3 0d 06 36 19 | 20 20 de 20 56 53 49 5f |e%=...6.| . VSI_|
|00002910| 53 70 61 63 65 25 20 56 | 73 69 7a 65 25 0d 06 40 |Space% V|size%..@|
|00002920| 11 20 20 3d 56 53 49 5f | 53 70 61 63 65 25 0d 06 |. =VSI_|Space%..|
|00002930| 4a 05 cd 0d 06 54 04 0d | 06 5e 0a de 20 58 25 20 |J....T..|.^.. X% |
|00002940| 30 0d 06 68 0d 4e 25 20 | 3d 20 58 25 2b 34 0d 06 |0..h.N% |= X%+4..|
|00002950| 72 38 4c 25 20 3d 20 28 | 28 4e 25 2b 56 53 49 5f |r8L% = (|(N%+VSI_|
|00002960| 50 61 67 65 53 69 7a 65 | 25 2d 31 29 20 80 20 ac |PageSize|%-1) . .|
|00002970| 20 28 56 53 49 5f 50 61 | 67 65 53 69 7a 65 25 2d | (VSI_Pa|geSize%-|
|00002980| 31 29 29 2d 4e 25 0d 06 | 7c 14 de 20 58 25 20 28 |1))-N%..||.. X% (|
|00002990| 4c 25 2b 50 73 69 7a 65 | 25 29 0d 06 86 13 50 73 |L%+Psize|%)....Ps|
|000029a0| 70 61 63 65 25 20 3d 20 | 58 25 2b 4c 25 0d 06 90 |pace% = |X%+L%...|
|000029b0| 04 0d 06 9a 1b f4 50 52 | 49 4e 54 20 7e 50 73 70 |......PR|INT ~Psp|
|000029c0| 61 63 65 25 2c 7e 50 73 | 69 7a 65 25 0d 06 a4 04 |ace%,~Ps|ize%....|
|000029d0| 0d 06 ae 3b 56 73 69 7a | 65 25 20 3d 20 28 56 73 |...;Vsiz|e% = (Vs|
|000029e0| 69 7a 65 25 2b 56 53 49 | 5f 50 61 67 65 53 69 7a |ize%+VSI|_PageSiz|
|000029f0| 65 25 2d 31 29 20 80 20 | ac 20 28 56 53 49 5f 50 |e%-1) . |. (VSI_P|
|00002a00| 61 67 65 53 69 7a 65 25 | 2d 31 29 0d 06 b8 1a 56 |ageSize%|-1)....V|
|00002a10| 53 49 5f 53 70 61 63 65 | 25 20 3d 20 26 30 30 38 |SI_Space|% = &008|
|00002a20| 30 30 30 30 30 0d 06 c2 | 20 56 53 49 5f 54 6f 70 |00000...| VSI_Top|
|00002a30| 25 20 3d 20 56 53 49 5f | 53 70 61 63 65 25 2b 56 |% = VSI_|Space%+V|
|00002a40| 73 69 7a 65 25 0d 06 cc | 26 56 53 49 5f 56 70 61 |size%...|&VSI_Vpa|
|00002a50| 67 65 73 25 20 3d 20 56 | 73 69 7a 65 25 2f 56 53 |ges% = V|size%/VS|
|00002a60| 49 5f 50 61 67 65 53 69 | 7a 65 25 0d 06 d6 04 0d |I_PageSi|ze%.....|
|00002a70| 06 e0 23 e7 20 56 73 69 | 7a 65 25 3c 30 20 84 20 |..#. Vsi|ze%<0 . |
|00002a80| 56 73 69 7a 65 25 3e 26 | 30 30 38 30 30 30 30 30 |Vsize%>&|00800000|
|00002a90| 20 8c 0d 06 ea 0e 20 20 | f1 20 56 73 69 7a 65 25 | ..... |. Vsize%|
|00002aa0| 0d 06 f4 33 20 20 85 20 | 31 2c 22 55 70 74 6f 20 |...3 . |1,"Upto |
|00002ab0| 38 20 4d 62 79 74 65 20 | 76 69 72 74 75 61 6c 20 |8 Mbyte |virtual |
|00002ac0| 73 70 61 63 65 20 6f 6e | 6c 79 20 61 6c 6c 6f 77 |space on|ly allow|
|00002ad0| 65 64 22 0d 06 fe 05 cd | 0d 07 08 04 0d 07 12 38 |ed".....|.......8|
|00002ae0| f4 20 4f 6c 64 4d 61 70 | 20 75 73 65 64 20 74 6f |. OldMap| used to|
|00002af0| 20 72 65 73 74 6f 72 65 | 20 6d 61 70 70 69 6e 67 | restore| mapping|
|00002b00| 20 61 73 20 69 6d 61 67 | 69 6e 65 64 20 62 79 20 | as imag|ined by |
|00002b10| 57 69 6d 70 0d 07 1c 34 | f4 20 4e 65 77 4d 61 70 |Wimp...4|. NewMap|
|00002b20| 20 75 73 65 64 20 74 6f | 20 73 65 74 20 6d 61 70 | used to| set map|
|00002b30| 20 61 66 74 65 72 20 57 | 69 6d 70 5f 50 6f 6c 6c | after W|imp_Poll|
|00002b40| 20 72 65 74 75 72 6e 73 | 0d 07 26 04 0d 07 30 25 | returns|..&...0%|
|00002b50| 56 53 49 5f 50 61 67 65 | 73 25 20 3d 20 50 73 69 |VSI_Page|s% = Psi|
|00002b60| 7a 65 25 2f 56 53 49 5f | 50 61 67 65 53 69 7a 65 |ze%/VSI_|PageSize|
|00002b70| 25 0d 07 3a 23 de 20 56 | 53 49 5f 4f 6c 64 4d 61 |%..:#. V|SI_OldMa|
|00002b80| 70 25 20 31 32 2a 28 56 | 53 49 5f 50 61 67 65 73 |p% 12*(V|SI_Pages|
|00002b90| 25 2b 31 29 0d 07 44 23 | de 20 56 53 49 5f 4e 65 |%+1)..D#|. VSI_Ne|
|00002ba0| 77 4d 61 70 25 20 31 32 | 2a 28 56 53 49 5f 50 61 |wMap% 12|*(VSI_Pa|
|00002bb0| 67 65 73 25 2b 31 29 0d | 07 4e 04 0d 07 58 33 f4 |ges%+1).|.N...X3.|
|00002bc0| 20 50 66 6c 61 67 73 20 | 67 69 76 65 73 20 70 72 | Pflags |gives pr|
|00002bd0| 6f 70 65 72 74 69 65 73 | 20 6f 66 20 74 68 65 20 |operties| of the |
|00002be0| 70 68 79 73 69 63 61 6c | 20 70 61 67 65 73 0d 07 |physical| pages..|
|00002bf0| 62 37 f4 20 65 2e 67 2e | 20 77 68 65 74 68 65 72 |b7. e.g.| whether|
|00002c00| 20 77 72 69 74 74 65 6e | 20 74 6f 20 28 63 6f 75 | written| to (cou|
|00002c10| 6c 64 20 62 65 20 64 6f | 6e 65 20 62 79 20 73 65 |ld be do|ne by se|
|00002c20| 74 74 69 6e 67 0d 07 6c | 39 f4 20 74 6f 20 72 65 |tting..l|9. to re|
|00002c30| 61 64 20 6f 6e 6c 79 20 | 61 6e 64 20 6f 6e 6c 79 |ad only |and only|
|00002c40| 20 6d 61 6b 69 6e 67 20 | 77 72 69 74 61 62 6c 65 | making |writable|
|00002c50| 20 69 66 20 6e 65 63 65 | 73 73 61 72 79 29 0d 07 | if nece|ssary)..|
|00002c60| 76 22 f4 20 50 66 6c 61 | 67 73 20 69 73 20 75 6e |v". Pfla|gs is un|
|00002c70| 75 73 65 64 20 61 74 20 | 70 72 65 73 65 6e 74 2e |used at |present.|
|00002c80| 0d 07 80 04 0d 07 8a 2c | f4 20 56 66 6c 61 67 73 |.......,|. Vflags|
|00002c90| 20 67 69 76 65 73 20 70 | 72 6f 70 65 72 74 69 65 | gives p|ropertie|
|00002ca0| 73 20 6f 66 20 74 68 65 | 20 76 69 72 74 75 61 6c |s of the| virtual|
|00002cb0| 0d 07 94 24 f4 20 73 74 | 6f 72 65 20 70 61 67 65 |...$. st|ore page|
|00002cc0| 73 20 77 68 65 6e 20 6e | 6f 74 20 70 61 67 65 64 |s when n|ot paged|
|00002cd0| 20 69 6e 2e 0d 07 9e 2a | f4 20 69 6e 64 65 78 65 | in....*|. indexe|
|00002ce0| 73 20 70 68 79 73 69 63 | 61 6c 20 70 61 67 65 20 |s physic|al page |
|00002cf0| 77 68 65 6e 20 70 61 67 | 65 64 20 69 6e 2e 0d 07 |when pag|ed in...|
|00002d00| a8 22 f4 20 48 65 72 65 | 20 32 35 35 20 6d 65 61 |.". Here| 255 mea|
|00002d10| 6e 73 20 6e 6f 74 20 70 | 61 67 65 64 20 69 6e 2e |ns not p|aged in.|
|00002d20| 0d 07 b2 04 0d 07 bc 1c | de 20 56 53 49 5f 50 66 |........|. VSI_Pf|
|00002d30| 6c 61 67 73 25 20 56 53 | 49 5f 50 61 67 65 73 25 |lags% VS|I_Pages%|
|00002d40| 0d 07 c6 1d de 20 56 53 | 49 5f 56 66 6c 61 67 73 |..... VS|I_Vflags|
|00002d50| 25 20 56 53 49 5f 56 70 | 61 67 65 73 25 0d 07 d0 |% VSI_Vp|ages%...|
|00002d60| 04 0d 07 da 08 4a 25 3d | 30 0d 07 e4 0f 56 30 25 |.....J%=|0....V0%|
|00002d70| 3d 50 73 70 61 63 65 25 | 0d 07 ee 12 56 31 25 3d |=Pspace%|....V1%=|
|00002d80| 56 30 25 2b 50 73 69 7a | 65 25 0d 07 f8 12 4d 25 |V0%+Psiz|e%....M%|
|00002d90| 3d 56 53 49 5f 4f 6c 64 | 4d 61 70 25 0d 08 02 16 |=VSI_Old|Map%....|
|00002da0| e3 20 49 25 3d 30 20 b8 | 20 6e 70 61 67 65 73 25 |. I%=0 .| npages%|
|00002db0| 2d 31 0d 08 0c 0d 20 20 | 4d 25 21 30 3d 49 25 0d |-1.... |M%!0=I%.|
|00002dc0| 08 16 0e 20 20 4d 25 21 | 31 32 3d 2d 31 0d 08 20 |... M%!|12=-1.. |
|00002dd0| 22 20 20 c8 99 20 22 4f | 53 5f 52 65 61 64 4d 65 |" .. "O|S_ReadMe|
|00002de0| 6d 4d 61 70 45 6e 74 72 | 69 65 73 22 2c 4d 25 0d |mMapEntr|ies",M%.|
|00002df0| 08 2a 0d 20 20 56 25 3d | 4d 25 21 34 0d 08 34 1e |.*. V%=|M%!4..4.|
|00002e00| 20 20 e7 20 56 25 20 3e | 3d 20 56 30 25 20 80 20 | . V% >|= V0% . |
|00002e10| 56 25 20 3c 20 56 31 25 | 20 8c 0d 08 3e 10 20 20 |V% < V1%| ...>. |
|00002e20| 20 20 4d 25 3d 4d 25 2b | 31 32 0d 08 48 18 20 20 | M%=M%+|12..H. |
|00002e30| 20 20 56 53 49 5f 50 66 | 6c 61 67 73 25 3f 4a 25 | VSI_Pf|lags%?J%|
|00002e40| 3d 30 0d 08 52 0f 20 20 | 20 20 4a 25 3d 4a 25 2b |=0..R. | J%=J%+|
|00002e50| 31 0d 08 5c 07 20 20 cd | 0d 08 66 05 ed 0d 08 70 |1..\. .|..f....p|
|00002e60| 0d 4d 25 21 30 20 3d 20 | 2d 31 0d 08 7a 04 0d 08 |.M%!0 = |-1..z...|
|00002e70| 84 1a e3 20 49 25 3d 30 | 20 b8 20 56 53 49 5f 56 |... I%=0| . VSI_V|
|00002e80| 70 61 67 65 73 25 2d 31 | 0d 08 8e 18 20 20 56 53 |pages%-1|.... VS|
|00002e90| 49 5f 56 66 6c 61 67 73 | 25 3f 49 25 3d 32 35 35 |I_Vflags|%?I%=255|
|00002ea0| 0d 08 98 05 ed 0d 08 a2 | 04 0d 08 ac 18 e7 20 4a |........|...... J|
|00002eb0| 25 20 3c 3e 20 56 53 49 | 5f 50 61 67 65 73 25 20 |% <> VSI|_Pages% |
|00002ec0| 8c 0d 08 b6 11 20 20 f1 | 56 30 25 2c 56 31 25 2c |..... .|V0%,V1%,|
|00002ed0| 4a 25 0d 08 c0 25 20 20 | 85 20 31 2c 20 22 50 61 |J%...% |. 1, "Pa|
|00002ee0| 67 65 20 63 6f 75 6e 74 | 20 77 72 6f 6e 67 20 73 |ge count| wrong s|
|00002ef0| 6f 6d 65 68 6f 77 22 0d | 08 ca 05 cd 0d 08 d4 04 |omehow".|........|
|00002f00| 0d 08 de 21 50 41 47 45 | 5f 4c 4e 20 3d 20 aa 28 |...!PAGE|_LN = .(|
|00002f10| 56 53 49 5f 50 61 67 65 | 53 69 7a 65 25 29 2f aa |VSI_Page|Size%)/.|
|00002f20| 32 0d 08 e8 0b 50 43 20 | 3d 20 31 35 0d 08 f2 18 |2....PC |= 15....|
|00002f30| 50 48 59 53 49 43 41 4c | 20 3d 20 26 30 32 30 30 |PHYSICAL| = &0200|
|00002f40| 30 30 30 30 0d 08 fc 13 | 53 4d 41 4c 4c 5f 4d 41 |0000....|SMALL_MA|
|00002f50| 58 20 3d 20 32 35 35 0d | 09 06 1b 53 74 61 74 75 |X = 255.|...Statu|
|00002f60| 73 5f 62 69 74 73 20 3d | 20 26 46 43 30 30 30 30 |s_bits =| &FC0000|
|00002f70| 30 33 0d 09 10 04 0d 09 | 1a 28 de 20 73 70 61 63 |03......|.(. spac|
|00002f80| 65 25 20 33 30 30 30 3a | 20 f4 20 53 70 61 63 65 |e% 3000:| . Space|
|00002f90| 20 66 6f 72 20 61 73 73 | 65 6d 62 6c 65 72 0d 09 | for ass|embler..|
|00002fa0| 24 04 0d 09 2e 14 e3 20 | 6f 70 74 25 3d 30 20 b8 |$...... |opt%=0 .|
|00002fb0| 20 32 20 88 20 32 0d 09 | 38 0d 50 25 3d 73 70 61 | 2 . 2..|8.P%=spa|
|00002fc0| 63 65 25 0d 09 42 0d 5b | 4f 50 54 20 6f 70 74 25 |ce%..B.[|OPT opt%|
|00002fd0| 0d 09 4c 14 20 20 20 20 | 20 20 20 20 20 20 20 41 |..L. | A|
|00002fe0| 4c 49 47 4e 0d 09 56 1f | 2e 52 65 67 44 75 6d 70 |LIGN..V.|.RegDump|
|00002ff0| 20 20 20 45 51 55 53 20 | c4 31 36 2c 22 2e 2e 2e | EQUS |.16,"...|
|00003000| 2e 22 29 0d 09 60 15 2e | 52 65 73 74 61 72 74 50 |.")..`..|RestartP|
|00003010| 43 20 45 51 55 44 20 30 | 0d 09 6a 15 2e 56 53 49 |C EQUD 0|..j..VSI|
|00003020| 5f 41 64 72 20 20 20 45 | 51 55 44 20 30 0d 09 74 |_Adr E|QUD 0..t|
|00003030| 19 2e 4f 6c 64 5f 41 62 | 6f 72 74 5f 50 72 65 20 |..Old_Ab|ort_Pre |
|00003040| 45 51 55 44 20 30 0d 09 | 7e 19 2e 4f 6c 64 5f 41 |EQUD 0..|~..Old_A|
|00003050| 62 6f 72 74 5f 41 64 72 | 20 45 51 55 44 20 30 0d |bort_Adr| EQUD 0.|
|00003060| 09 88 1e 2e 56 5f 53 70 | 61 63 65 20 20 20 45 51 |....V_Sp|ace EQ|
|00003070| 55 44 20 56 53 49 5f 53 | 70 61 63 65 25 0d 09 92 |UD VSI_S|pace%...|
|00003080| 1c 2e 56 5f 54 6f 70 20 | 20 20 20 20 45 51 55 44 |..V_Top | EQUD|
|00003090| 20 56 53 49 5f 54 6f 70 | 25 0d 09 9c 15 2e 56 5f | VSI_Top|%.....V_|
|000030a0| 4e 65 78 74 20 20 20 20 | 45 51 55 44 20 30 0d 09 |Next |EQUD 0..|
|000030b0| a6 1f 2e 56 5f 4e 65 77 | 4d 61 70 20 20 45 51 55 |...V_New|Map EQU|
|000030c0| 44 20 56 53 49 5f 4e 65 | 77 4d 61 70 25 0d 09 b0 |D VSI_Ne|wMap%...|
|000030d0| 15 2e 56 5f 46 69 6c 65 | 20 20 20 20 45 51 55 44 |..V_File| EQUD|
|000030e0| 20 30 0d 09 ba 1e 2e 56 | 5f 4d 65 6d 4d 61 70 20 | 0.....V|_MemMap |
|000030f0| 20 45 51 55 53 20 c4 33 | 2c 22 2e 2e 2e 2e 22 29 | EQUS .3|,"....")|
|00003100| 0d 09 c4 16 20 20 20 20 | 20 20 20 20 20 20 20 45 |.... | E|
|00003110| 51 55 44 20 2d 31 0d 09 | ce 1f 2e 56 5f 50 66 6c |QUD -1..|...V_Pfl|
|00003120| 61 67 73 20 20 45 51 55 | 44 20 56 53 49 5f 50 66 |ags EQU|D VSI_Pf|
|00003130| 6c 61 67 73 25 0d 09 d8 | 1f 2e 56 5f 56 66 6c 61 |lags%...|..V_Vfla|
|00003140| 67 73 20 20 45 51 55 44 | 20 56 53 49 5f 56 66 6c |gs EQUD| VSI_Vfl|
|00003150| 61 67 73 25 0d 09 e2 1f | 2e 72 65 67 73 20 20 20 |ags%....|.regs |
|00003160| 20 20 20 45 51 55 53 20 | c4 31 36 2c 22 2e 2e 2e | EQUS |.16,"...|
|00003170| 2e 22 29 0d 09 ec 04 0d | 09 f6 3b 5c 20 20 53 70 |.").....|..;\ Sp|
|00003180| 65 63 69 61 6c 20 63 6f | 64 65 20 74 6f 20 64 65 |ecial co|de to de|
|00003190| 61 6c 20 77 69 74 68 20 | 61 6e 20 65 6d 75 6c 61 |al with |an emula|
|000031a0| 74 65 64 20 66 6c 6f 61 | 74 69 6e 67 20 70 6f 69 |ted floa|ting poi|
|000031b0| 6e 74 0d 0a 00 24 5c 20 | 20 6f 70 65 72 61 74 69 |nt...$\ | operati|
|000031c0| 6f 6e 20 68 61 76 69 6e | 67 20 61 20 64 61 74 61 |on havin|g a data|
|000031d0| 20 61 62 6f 72 74 0d 0a | 0a 3f 5c 20 20 2a 2a 2a | abort..|.?\ ***|
|000031e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000031f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003200| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003210| 2a 2a 2a 2a 2a 0d 0a 14 | 3f 5c 20 20 2a 2a 2a 2a |*****...|?\ ****|
|00003220| 2a 20 52 61 74 68 65 72 | 20 68 65 75 72 69 73 74 |* Rather| heurist|
|00003230| 69 63 20 61 6e 64 20 6d | 61 79 20 66 61 69 6c 20 |ic and m|ay fail |
|00003240| 77 69 74 68 20 52 69 73 | 63 2d 4f 53 20 33 20 2a |with Ris|c-OS 3 *|
|00003250| 2a 2a 2a 2a 0d 0a 1e 3f | 5c 20 20 2a 2a 2a 2a 2a |****...?|\ *****|
|00003260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003290| 2a 2a 2a 0d 0a 28 2d 5c | 20 20 4d 75 73 74 20 62 |***..(-\| Must b|
|000032a0| 65 20 69 6e 20 73 75 70 | 65 72 76 69 73 6f 72 20 |e in sup|ervisor |
|000032b0| 6d 6f 64 65 20 69 6e 20 | 61 20 6d 6f 64 75 6c 65 |mode in |a module|
|000032c0| 0d 0a 32 3d 5c 20 20 54 | 68 65 20 73 74 61 63 6b |..2=\ T|he stack|
|000032d0| 20 6d 75 73 74 20 68 61 | 76 65 20 74 68 65 20 72 | must ha|ve the r|
|000032e0| 65 67 69 73 74 65 72 73 | 20 69 6e 20 61 6e 64 20 |egisters| in and |
|000032f0| 6e 6f 74 68 69 6e 67 20 | 65 6c 73 65 2e 0d 0a 3c |nothing |else...<|
|00003300| 30 5c 20 20 61 6e 64 20 | 74 68 65 20 73 61 76 65 |0\ and |the save|
|00003310| 64 20 70 63 20 73 68 6f | 75 6c 64 20 62 65 20 66 |d pc sho|uld be f|
|00003320| 6f 72 20 75 73 65 72 20 | 6d 6f 64 65 2e 0d 0a 46 |or user |mode...F|
|00003330| 42 5c 20 20 46 70 20 65 | 6d 75 6c 61 74 6f 72 20 |B\ Fp e|mulator |
|00003340| 73 65 65 6d 73 20 74 6f | 20 75 70 64 61 74 65 20 |seems to| update |
|00003350| 61 6c 6c 20 74 68 65 20 | 72 65 67 69 73 74 65 72 |all the |register|
|00003360| 73 20 63 6f 72 72 65 63 | 74 6c 79 20 66 6f 72 0d |s correc|tly for.|
|00003370| 0a 50 3a 5c 20 20 61 20 | 64 61 74 61 20 61 62 6f |.P:\ a |data abo|
|00003380| 72 74 20 65 78 63 65 70 | 74 20 74 68 65 20 50 43 |rt excep|t the PC|
|00003390| 20 2d 20 77 68 65 77 2c | 20 74 68 61 6e 6b 20 79 | - whew,| thank y|
|000033a0| 6f 75 20 41 63 6f 72 6e | 2e 0d 0a 5a 04 0d 0a 64 |ou Acorn|...Z...d|
|000033b0| 0d 2e 46 70 5f 53 74 61 | 63 6b 0d 0a 6e 3b 20 20 |..Fp_Sta|ck..n; |
|000033c0| 45 51 55 44 20 20 20 20 | 26 30 31 43 30 31 46 43 |EQUD |&01C01FC|
|000033d0| 30 20 20 20 20 20 20 20 | 20 20 5c 20 73 74 61 63 |0 | \ stac|
|000033e0| 6b 20 74 6f 70 2d 26 34 | 30 2c 20 6d 61 79 20 63 |k top-&4|0, may c|
|000033f0| 68 61 6e 67 65 0d 0a 78 | 04 0d 0a 82 12 2e 46 70 |hange..x|......Fp|
|00003400| 5f 64 61 74 61 5f 61 62 | 6f 72 74 0d 0a 8c 14 20 |_data_ab|ort.... |
|00003410| 20 4d 4f 56 20 20 20 20 | 20 52 30 2c 20 23 30 0d | MOV | R0, #0.|
|00003420| 0a 96 1a 20 20 4c 44 52 | 20 20 20 20 20 52 31 2c |... LDR| R1,|
|00003430| 20 46 70 5f 53 74 61 63 | 6b 0d 0a a0 15 20 20 43 | Fp_Stac|k.... C|
|00003440| 4d 50 20 20 20 20 20 52 | 31 2c 20 52 31 33 0d 0a |MP R|1, R13..|
|00003450| aa 1a 20 20 42 4e 45 20 | 20 20 20 20 44 6f 5f 4f |.. BNE | Do_O|
|00003460| 6c 64 5f 41 62 6f 72 74 | 0d 0a b4 1f 20 20 80 20 |ld_Abort|.... . |
|00003470| 20 20 20 20 52 32 2c 20 | 52 31 34 2c 20 23 26 30 | R2, |R14, #&0|
|00003480| 43 30 30 30 30 30 33 0d | 0a be 14 20 20 43 4d 50 |C000003.|... CMP|
|00003490| 20 20 20 20 20 52 32 2c | 20 23 33 0d 0a c8 1a 20 | R2,| #3.... |
|000034a0| 20 42 4e 45 20 20 20 20 | 20 44 6f 5f 4f 6c 64 5f | BNE | Do_Old_|
|000034b0| 41 62 6f 72 74 0d 0a d2 | 1d 20 20 4c 44 52 20 20 |Abort...|. LDR |
|000034c0| 20 20 20 52 33 2c 20 5b | 52 31 2c 20 23 34 2a 50 | R3, [|R1, #4*P|
|000034d0| 43 5d 0d 0a dc 1c 20 20 | 54 53 54 20 20 20 20 20 |C].... |TST |
|000034e0| 52 33 2c 20 23 26 30 43 | 30 30 30 30 30 33 0d 0a |R3, #&0C|000003..|
|000034f0| e6 1a 20 20 42 4e 45 20 | 20 20 20 20 44 6f 5f 4f |.. BNE | Do_O|
|00003500| 6c 64 5f 41 62 6f 72 74 | 0d 0a f0 19 20 20 41 44 |ld_Abort|.... AD|
|00003510| 52 20 20 20 20 20 52 30 | 2c 20 52 65 67 44 75 6d |R R0|, RegDum|
|00003520| 70 0d 0a fa 1b 20 20 4c | 44 4d 49 41 20 20 20 52 |p.... L|DMIA R|
|00003530| 31 33 21 2c 20 7b 52 31 | 2d 52 38 7d 0d 0b 04 1a |13!, {R1|-R8}....|
|00003540| 20 20 53 54 4d 49 41 20 | 20 20 52 30 21 2c 20 7b | STMIA | R0!, {|
|00003550| 52 31 2d 52 38 7d 0d 0b | 0e 20 20 20 4c 44 4d 49 |R1-R8}..|. LDMI|
|00003560| 41 20 20 20 52 31 33 21 | 2c 20 7b 52 31 2d 52 37 |A R13!|, {R1-R7|
|00003570| 2c 20 52 31 34 7d 0d 0b | 18 44 20 20 41 44 44 20 |, R14}..|.D ADD |
|00003580| 20 20 20 20 52 31 34 2c | 20 52 31 34 2c 20 23 34 | R14,| R14, #4|
|00003590| 20 20 20 20 20 20 20 20 | 20 20 5c 20 4d 61 6b 65 | | \ Make|
|000035a0| 20 69 74 20 6c 6f 6f 6b | 20 6c 69 6b 65 20 61 20 | it look| like a |
|000035b0| 64 61 74 61 20 61 62 6f | 72 74 0d 0b 22 1f 20 20 |data abo|rt..". |
|000035c0| 53 54 4d 49 41 20 20 20 | 52 30 21 2c 20 7b 52 31 |STMIA |R0!, {R1|
|000035d0| 2d 52 37 2c 20 52 31 34 | 7d 0d 0b 2c 19 20 20 42 |-R7, R14|}..,. B|
|000035e0| 20 20 20 20 20 20 20 46 | 70 5f 43 6f 6d 65 62 61 | F|p_Comeba|
|000035f0| 63 6b 0d 0b 36 04 0d 0b | 40 16 5c 20 20 50 72 65 |ck..6...|@.\ Pre|
|00003600| 2d 46 65 74 63 68 20 41 | 62 6f 72 74 0d 0b 4a 36 |-Fetch A|bort..J6|
|00003610| 5c 20 20 55 6e 64 65 66 | 69 6e 65 64 20 69 6e 73 |\ Undef|ined ins|
|00003620| 74 72 75 63 74 69 6f 6e | 20 69 6e 20 6c 61 73 74 |truction| in last|
|00003630| 20 77 6f 72 64 20 6f 66 | 20 70 61 67 65 20 77 69 | word of| page wi|
|00003640| 6c 6c 0d 0b 54 35 5c 20 | 20 63 61 75 73 65 20 61 |ll..T5\ | cause a|
|00003650| 20 70 72 65 2d 66 65 74 | 63 68 20 61 62 6f 72 74 | pre-fet|ch abort|
|00003660| 20 66 69 72 73 74 2e 20 | 54 68 69 73 20 69 73 20 | first. |This is |
|00003670| 68 61 6e 64 6c 65 64 0d | 0b 5e 14 5c 20 20 69 6e |handled.|.^.\ in|
|00003680| 20 4c 6f 61 64 5f 50 61 | 67 65 2e 0d 0b 68 04 0d | Load_Pa|ge...h..|
|00003690| 0b 72 12 2e 49 6e 74 5f | 41 62 6f 72 74 5f 50 72 |.r..Int_|Abort_Pr|
|000036a0| 65 0d 0b 7c 42 20 20 54 | 53 54 20 20 20 20 20 52 |e..|B T|ST R|
|000036b0| 31 34 2c 20 23 26 30 43 | 30 30 30 30 30 33 20 20 |14, #&0C|000003 |
|000036c0| 20 20 20 20 20 5c 20 4f | 6e 6c 79 20 68 61 6e 64 | \ O|nly hand|
|000036d0| 6c 65 20 56 53 49 20 69 | 6e 20 55 73 65 72 20 6d |le VSI i|n User m|
|000036e0| 6f 64 65 0d 0b 86 1f 20 | 20 4c 44 52 4e 45 20 20 |ode.... | LDRNE |
|000036f0| 20 50 43 2c 20 4f 6c 64 | 5f 41 62 6f 72 74 5f 50 | PC, Old|_Abort_P|
|00003700| 72 65 0d 0b 90 19 20 20 | 53 54 52 20 20 20 20 20 |re.... |STR |
|00003710| 52 30 2c 20 52 65 67 44 | 75 6d 70 0d 0b 9a 1b 20 |R0, RegD|ump.... |
|00003720| 20 41 44 52 20 20 20 20 | 20 52 30 2c 20 52 65 67 | ADR | R0, Reg|
|00003730| 44 75 6d 70 2b 34 0d 0b | a4 39 20 20 53 54 4d 49 |Dump+4..|.9 STMI|
|00003740| 41 20 20 20 52 30 2c 20 | 7b 52 31 2d 52 31 34 7d |A R0, |{R1-R14}|
|00003750| 5e 20 20 20 20 20 20 20 | 20 20 5c 20 44 75 6d 70 |^ | \ Dump|
|00003760| 20 55 73 65 72 20 72 65 | 67 69 73 74 65 72 73 0d | User re|gisters.|
|00003770| 0b ae 29 20 20 4d 4f 56 | 20 20 20 20 20 52 30 2c |..) MOV| R0,|
|00003780| 20 52 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | R0 | |
|00003790| 20 20 20 5c 20 4e 4f 50 | 0d 0b b8 1f 20 20 53 54 | \ NOP|.... ST|
|000037a0| 52 20 20 20 20 20 52 31 | 34 2c 20 52 65 67 44 75 |R R1|4, RegDu|
|000037b0| 6d 70 2b 34 2a 50 43 0d | 0b c2 34 20 20 53 55 42 |mp+4*PC.|..4 SUB|
|000037c0| 20 20 20 20 20 52 31 2c | 20 52 31 34 2c 20 23 34 | R1,| R14, #4|
|000037d0| 20 20 20 20 20 20 20 20 | 20 20 20 5c 20 2d 3e 20 | | \ -> |
|000037e0| 6f 70 20 74 6f 20 72 65 | 74 72 79 0d 0b cc 1b 20 |op to re|try.... |
|000037f0| 20 53 54 52 20 20 20 20 | 20 52 31 2c 20 52 65 73 | STR | R1, Res|
|00003800| 74 61 72 74 50 43 0d 0b | d6 31 20 20 42 49 43 20 |tartPC..|.1 BIC |
|00003810| 20 20 20 20 52 31 2c 20 | 52 31 2c 20 23 53 74 61 | R1, |R1, #Sta|
|00003820| 74 75 73 5f 62 69 74 73 | 20 20 5c 20 56 53 49 20 |tus_bits| \ VSI |
|00003830| 61 64 64 72 65 73 73 0d | 0b e0 45 20 20 4d 56 4e |address.|..E MVN|
|00003840| 20 20 20 20 20 52 30 2c | 20 23 30 20 20 20 20 20 | R0,| #0 |
|00003850| 20 20 20 20 20 20 20 20 | 20 20 20 5c 20 50 72 65 | | \ Pre|
|00003860| 2d 46 65 74 63 68 20 2c | 20 62 69 74 20 32 30 20 |-Fetch ,| bit 20 |
|00003870| 73 65 74 20 66 6f 72 20 | 72 65 61 64 0d 0b ea 17 |set for |read....|
|00003880| 20 20 42 20 20 20 20 20 | 20 20 4c 6f 61 64 5f 50 | B | Load_P|
|00003890| 61 67 65 0d 0b f4 04 0d | 0b fe 11 5c 20 20 44 61 |age.....|...\ Da|
|000038a0| 74 61 20 41 62 6f 72 74 | 0d 0c 08 1f 5c 20 20 52 |ta Abort|....\ R|
|000038b0| 65 73 74 6f 72 65 20 61 | 6e 79 20 62 61 73 65 20 |estore a|ny base |
|000038c0| 61 64 64 72 65 73 73 0d | 0c 12 3b 5c 20 20 43 61 |address.|..;\ Ca|
|000038d0| 6c 63 75 6c 61 74 65 20 | 61 64 64 72 65 73 73 20 |lculate |address |
|000038e0| 63 61 75 73 69 6e 67 20 | 66 61 75 6c 74 2c 20 6f |causing |fault, o|
|000038f0| 72 20 61 74 20 6c 65 61 | 73 74 20 70 6f 69 6e 74 |r at lea|st point|
|00003900| 65 72 0d 0c 1c 28 5c 20 | 20 69 6e 74 6f 20 76 61 |er...(\ | into va|
|00003910| 6c 69 64 20 70 61 67 65 | 20 62 65 66 6f 72 65 20 |lid page| before |
|00003920| 74 68 65 20 66 61 75 6c | 74 2e 0d 0c 26 04 0d 0c |the faul|t...&...|
|00003930| 30 12 2e 49 6e 74 5f 41 | 62 6f 72 74 5f 41 64 72 |0..Int_A|bort_Adr|
|00003940| 0d 0c 3a 19 20 20 53 54 | 52 20 20 20 20 20 52 30 |..:. ST|R R0|
|00003950| 2c 20 52 65 67 44 75 6d | 70 0d 0c 44 1b 20 20 41 |, RegDum|p..D. A|
|00003960| 44 52 20 20 20 20 20 52 | 30 2c 20 52 65 67 44 75 |DR R|0, RegDu|
|00003970| 6d 70 2b 34 0d 0c 4e 39 | 20 20 53 54 4d 49 41 20 |mp+4..N9| STMIA |
|00003980| 20 20 52 30 2c 20 7b 52 | 31 2d 52 31 34 7d 5e 20 | R0, {R|1-R14}^ |
|00003990| 20 20 20 20 20 20 20 20 | 5c 20 44 75 6d 70 20 55 | |\ Dump U|
|000039a0| 73 65 72 20 72 65 67 69 | 73 74 65 72 73 0d 0c 58 |ser regi|sters..X|
|000039b0| 29 20 20 4d 4f 56 20 20 | 20 20 20 52 30 2c 20 52 |) MOV | R0, R|
|000039c0| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|000039d0| 20 5c 20 4e 4f 50 0d 0c | 62 1f 20 20 53 54 52 20 | \ NOP..|b. STR |
|000039e0| 20 20 20 20 52 31 34 2c | 20 52 65 67 44 75 6d 70 | R14,| RegDump|
|000039f0| 2b 34 2a 50 43 0d 0c 6c | 42 20 20 54 53 54 20 20 |+4*PC..l|B TST |
|00003a00| 20 20 20 52 31 34 2c 20 | 23 26 30 43 30 30 30 30 | R14, |#&0C0000|
|00003a10| 30 33 20 20 20 20 20 20 | 20 5c 20 4f 6e 6c 79 20 |03 | \ Only |
|00003a20| 68 61 6e 64 6c 65 20 56 | 53 49 20 69 6e 20 75 73 |handle V|SI in us|
|00003a30| 65 72 20 6d 6f 64 65 0d | 0c 76 41 20 20 42 4e 45 |er mode.|.vA BNE|
|00003a40| 20 20 20 20 20 46 70 5f | 64 61 74 61 5f 61 62 6f | Fp_|data_abo|
|00003a50| 72 74 20 20 20 20 20 20 | 20 20 20 5c 20 44 6f 20 |rt | \ Do |
|00003a60| 73 70 65 63 69 61 6c 20 | 45 6d 75 6c 61 74 65 64 |special |Emulated|
|00003a70| 20 46 70 20 66 72 69 67 | 0d 0c 80 10 2e 46 70 5f | Fp frig|.....Fp_|
|00003a80| 43 6f 6d 65 62 61 63 6b | 0d 0c 8a 34 20 20 53 55 |Comeback|...4 SU|
|00003a90| 42 20 20 20 20 20 52 31 | 2c 20 52 31 34 2c 20 23 |B R1|, R14, #|
|00003aa0| 38 20 20 20 20 20 20 20 | 20 20 20 20 5c 20 2d 3e |8 | \ ->|
|00003ab0| 20 6f 70 20 74 6f 20 72 | 65 74 72 79 0d 0c 94 1b | op to r|etry....|
|00003ac0| 20 20 53 54 52 20 20 20 | 20 20 52 31 2c 20 52 65 | STR | R1, Re|
|00003ad0| 73 74 61 72 74 50 43 0d | 0c 9e 22 20 20 42 49 43 |startPC.|.." BIC|
|00003ae0| 20 20 20 20 20 52 31 2c | 20 52 31 2c 20 23 53 74 | R1,| R1, #St|
|00003af0| 61 74 75 73 5f 62 69 74 | 73 0d 0c a8 04 0d 0c b2 |atus_bit|s.......|
|00003b00| 27 5c 20 4e 6f 77 20 61 | 6e 61 6c 79 73 65 20 74 |'\ Now a|nalyse t|
|00003b10| 68 65 20 66 61 69 6c 69 | 6e 67 20 6f 70 65 72 61 |he faili|ng opera|
|00003b20| 74 69 6f 6e 0d 0c bc 11 | 5c 20 20 52 30 20 6f 70 |tion....|\ R0 op|
|00003b30| 20 63 6f 64 65 0d 0c c6 | 15 5c 20 20 52 31 20 56 | code...|.\ R1 V|
|00003b40| 53 49 20 61 64 64 72 65 | 73 73 0d 0c d0 13 5c 20 |SI addre|ss....\ |
|00003b50| 20 52 32 20 2d 3e 52 65 | 67 44 75 6d 70 0d 0c da | R2 ->Re|gDump...|
|00003b60| 1e 5c 20 20 52 33 20 62 | 61 73 65 20 72 65 67 69 |.\ R3 b|ase regi|
|00003b70| 73 74 65 72 20 6e 75 6d | 62 65 72 0d 0c e4 04 0d |ster num|ber.....|
|00003b80| 0c ee 19 20 20 41 44 52 | 20 20 20 20 20 52 32 2c |... ADR| R2,|
|00003b90| 20 52 65 67 44 75 6d 70 | 0d 0c f8 34 20 20 4c 44 | RegDump|...4 LD|
|00003ba0| 52 54 20 20 20 20 52 30 | 2c 20 5b 52 31 5d 20 20 |RT R0|, [R1] |
|00003bb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 5c 20 47 65 | | \ Ge|
|00003bc0| 74 20 66 61 69 6c 69 6e | 67 20 6f 70 0d 0d 02 1d |t failin|g op....|
|00003bd0| 20 20 4d 4f 56 20 20 20 | 20 20 52 33 2c 20 52 30 | MOV | R3, R0|
|00003be0| 2c 20 4c 53 52 20 23 31 | 36 0d 0d 0c 3c 20 20 80 |, LSR #1|6...< .|
|00003bf0| 20 20 20 20 20 52 33 2c | 20 52 33 2c 20 23 31 35 | R3,| R3, #15|
|00003c00| 20 20 20 20 20 20 20 20 | 20 20 20 5c 20 47 65 74 | | \ Get|
|00003c10| 20 62 61 73 65 20 72 65 | 67 69 73 74 65 72 20 6e | base re|gister n|
|00003c20| 75 6d 62 65 72 0d 0d 16 | 37 20 20 4c 44 52 20 20 |umber...|7 LDR |
|00003c30| 20 20 20 52 31 2c 20 5b | 52 32 2c 20 52 33 2c 20 | R1, [|R2, R3, |
|00003c40| 4c 53 4c 20 23 32 5d 20 | 20 5c 20 41 6e 64 20 67 |LSL #2] | \ And g|
|00003c50| 65 74 20 74 68 65 20 76 | 61 6c 75 65 0d 0d 20 1e |et the v|alue.. .|
|00003c60| 20 20 80 20 20 20 20 20 | 52 37 2c 20 52 30 2c 20 | . |R7, R0, |
|00003c70| 23 26 30 45 30 30 30 30 | 30 30 0d 0d 2a 1c 20 20 |#&0E0000|00..*. |
|00003c80| 43 4d 50 20 20 20 20 20 | 52 37 2c 20 23 26 30 34 |CMP |R7, #&04|
|00003c90| 30 30 30 30 30 30 0d 0d | 34 1c 20 20 43 4d 50 4e |000000..|4. CMPN|
|00003ca0| 45 20 20 20 52 37 2c 20 | 23 26 30 36 30 30 30 30 |E R7, |#&060000|
|00003cb0| 30 30 0d 0d 3e 14 20 20 | 42 45 51 20 20 20 20 20 |00..>. |BEQ |
|00003cc0| 6c 64 72 73 74 72 0d 0d | 48 1c 20 20 43 4d 50 20 |ldrstr..|H. CMP |
|00003cd0| 20 20 20 20 52 37 2c 20 | 23 26 30 38 30 30 30 30 | R7, |#&080000|
|00003ce0| 30 30 0d 0d 52 14 20 20 | 42 45 51 20 20 20 20 20 |00..R. |BEQ |
|00003cf0| 6c 64 6d 73 74 6d 0d 0d | 5c 1c 20 20 43 4d 50 20 |ldmstm..|\. CMP |
|00003d00| 20 20 20 20 52 37 2c 20 | 23 26 30 43 30 30 30 30 | R7, |#&0C0000|
|00003d10| 30 30 0d 0d 66 14 20 20 | 42 45 51 20 20 20 20 20 |00..f. |BEQ |
|00003d20| 6c 64 63 73 74 63 0d 0d | 70 3d 20 20 80 20 20 20 |ldcstc..|p= . |
|00003d30| 20 20 52 37 2c 20 52 30 | 2c 20 23 26 30 46 42 30 | R7, R0|, #&0FB0|
|00003d40| 30 30 30 30 20 20 20 20 | 20 20 5c 20 26 20 26 30 |0000 | \ & &0|
|00003d50| 46 42 30 30 46 46 30 20 | 3d 20 26 30 31 30 30 30 |FB00FF0 |= &01000|
|00003d60| 30 39 30 0d 0d 7a 1c 20 | 20 43 4d 50 20 20 20 20 |090..z. | CMP |
|00003d70| 20 52 37 2c 20 23 26 30 | 31 30 30 30 30 30 30 0d | R7, #&0|1000000.|
|00003d80| 0d 84 1e 20 20 80 45 51 | 20 20 20 52 37 2c 20 52 |... .EQ| R7, R|
|00003d90| 30 2c 20 23 26 30 30 30 | 30 30 46 46 30 0d 0d 8e |0, #&000|00FF0...|
|00003da0| 1c 20 20 43 4d 50 45 51 | 20 20 20 52 37 2c 20 23 |. CMPEQ| R7, #|
|00003db0| 26 30 30 30 30 30 30 39 | 30 0d 0d 98 1a 20 20 42 |&0000009|0.... B|
|00003dc0| 4e 45 20 20 20 20 20 44 | 6f 5f 4f 6c 64 5f 41 62 |NE D|o_Old_Ab|
|00003dd0| 6f 72 74 0d 0d a2 08 2e | 73 77 70 0d 0d ac 3e 5c |ort.....|swp...>\|
|00003de0| 20 42 69 74 20 32 30 20 | 3d 20 30 20 66 6f 72 20 | Bit 20 |= 0 for |
|00003df0| 77 72 69 74 65 20 6f 70 | 20 73 6f 20 6c 65 61 76 |write op| so leav|
|00003e00| 65 20 6f 70 20 63 6f 64 | 65 20 69 6e 20 52 30 20 |e op cod|e in R0 |
|00003e10| 75 6e 63 68 61 6e 67 65 | 64 0d 0d b6 17 20 20 42 |unchange|d.... B|
|00003e20| 20 20 20 20 20 20 20 4c | 6f 61 64 5f 50 61 67 65 | L|oad_Page|
|00003e30| 0d 0d c0 04 0d 0d ca 21 | 5c 20 20 43 6f 64 65 20 |.......!|\ Code |
|00003e40| 66 6f 72 20 68 61 6e 64 | 6c 69 6e 67 20 4c 44 4d |for hand|ling LDM|
|00003e50| 2c 20 53 54 4d 0d 0d d4 | 2c 5c 20 20 52 65 73 74 |, STM...|,\ Rest|
|00003e60| 6f 72 65 20 62 61 73 65 | 20 69 66 20 6e 65 63 65 |ore base| if nece|
|00003e70| 73 73 61 72 79 20 28 6e | 6f 74 20 69 66 20 50 43 |ssary (n|ot if PC|
|00003e80| 29 0d 0d de 27 5c 20 20 | 43 61 6c 63 75 6c 61 74 |)...'\ |Calculat|
|00003e90| 65 20 73 74 61 72 74 20 | 74 72 61 6e 73 66 65 72 |e start |transfer|
|00003ea0| 20 61 64 64 72 65 73 73 | 0d 0d e8 04 0d 0d f2 0b | address|........|
|00003eb0| 2e 6c 64 6d 73 74 6d 0d | 0d fc 1e 20 20 80 20 20 |.ldmstm.|... . |
|00003ec0| 20 20 20 52 35 2c 20 52 | 30 2c 20 23 26 30 30 41 | R5, R|0, #&00A|
|00003ed0| 30 30 30 30 30 0d 0e 06 | 3f 20 20 43 4d 50 20 20 |00000...|? CMP |
|00003ee0| 20 20 20 52 35 2c 20 23 | 26 30 30 38 30 30 30 30 | R5, #|&0080000|
|00003ef0| 30 20 20 20 20 20 20 20 | 20 20 20 5c 20 69 6e 63 |0 | \ inc|
|00003f00| 72 65 6d 65 6e 74 2c 20 | 6e 6f 20 77 72 69 74 65 |rement, |no write|
|00003f10| 62 61 63 6b 0d 0e 10 17 | 20 20 42 45 51 20 20 20 |back....| BEQ |
|00003f20| 20 20 69 6e 64 65 78 65 | 64 75 70 0d 0e 1a 3d 20 | indexe|dup...= |
|00003f30| 20 4d 4f 56 20 20 20 20 | 20 52 35 2c 20 23 30 20 | MOV | R5, #0 |
|00003f40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003f50| 20 5c 20 53 69 7a 65 20 | 6f 66 20 72 65 67 69 73 | \ Size |of regis|
|00003f60| 74 65 72 20 6c 69 73 74 | 0d 0e 24 46 20 20 4d 4f |ter list|..$F MO|
|00003f70| 56 53 20 20 20 20 52 36 | 2c 20 52 30 2c 20 4c 53 |VS R6|, R0, LS|
|00003f80| 4c 20 23 31 36 20 20 20 | 20 20 20 20 20 20 5c 20 |L #16 | \ |
|00003f90| 54 6f 70 20 62 69 74 73 | 20 63 6f 6e 74 61 69 6e |Top bits| contain|
|00003fa0| 20 72 65 67 69 73 74 65 | 72 20 6c 69 73 74 0d 0e | registe|r list..|
|00003fb0| 2e 0d 2e 72 65 67 63 6f | 75 6e 74 0d 0e 38 3c 20 |...regco|unt..8< |
|00003fc0| 20 41 44 44 4e 45 20 20 | 20 52 35 2c 20 52 35 2c | ADDNE | R5, R5,|
|00003fd0| 20 23 34 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | #4 | |
|00003fe0| 20 5c 20 34 20 62 79 74 | 65 73 20 70 65 72 20 72 | \ 4 byt|es per r|
|00003ff0| 65 67 69 73 74 65 72 0d | 0e 42 39 20 20 53 55 42 |egister.|.B9 SUB|
|00004000| 20 20 20 20 20 52 37 2c | 20 52 36 2c 20 23 31 20 | R7,| R6, #1 |
|00004010| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 5c 20 65 | | \ e|
|00004020| 78 70 6f 73 65 20 6e 65 | 78 74 20 31 20 62 69 74 |xpose ne|xt 1 bit|
|00004030| 0d 0e 4c 16 20 20 80 53 | 20 20 20 20 52 36 2c 20 |..L. .S| R6, |
|00004040| 52 37 2c 20 52 36 0d 0e | 56 16 20 20 42 4e 45 20 |R7, R6..|V. BNE |
|00004050| 20 20 20 20 72 65 67 63 | 6f 75 6e 74 0d 0e 60 32 | regc|ount..`2|
|00004060| 20 20 54 53 54 20 20 20 | 20 20 52 30 2c 20 23 26 | TST | R0, #&|
|00004070| 30 30 32 30 30 30 30 30 | 20 20 20 20 20 20 20 20 |00200000| |
|00004080| 20 20 5c 20 57 72 69 74 | 65 62 61 63 6b 3f 0d 0e | \ Writ|eback?..|
|00004090| 6a 3c 20 20 43 4d 50 4e | 45 20 20 20 52 33 2c 20 |j< CMPN|E R3, |
|000040a0| 23 50 43 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |#PC | |
|000040b0| 20 20 20 20 5c 20 64 6f | 65 73 20 6e 6f 74 20 61 | \ do|es not a|
|000040c0| 70 70 6c 79 20 74 6f 20 | 50 43 0d 0e 74 19 20 20 |pply to |PC..t. |
|000040d0| 42 45 51 20 20 20 20 20 | 4e 6f 57 72 69 74 65 62 |BEQ |NoWriteb|
|000040e0| 61 63 6b 0d 0e 7e 3b 20 | 20 54 53 54 20 20 20 20 |ack..~; | TST |
|000040f0| 20 52 30 2c 20 23 26 30 | 30 38 30 30 30 30 30 20 | R0, #&0|0800000 |
|00004100| 20 20 20 20 20 20 20 20 | 20 5c 20 41 64 64 20 6f | | \ Add o|
|00004110| 66 66 73 65 74 20 74 6f | 20 62 61 73 65 3f 0d 0e |ffset to| base?..|
|00004120| 88 39 20 20 53 55 42 4e | 45 20 20 20 52 31 2c 20 |.9 SUBN|E R1, |
|00004130| 52 31 2c 20 52 35 20 20 | 20 20 20 20 20 20 20 20 |R1, R5 | |
|00004140| 20 20 20 20 5c 20 52 65 | 76 65 72 73 65 20 77 72 | \ Re|verse wr|
|00004150| 69 74 65 62 61 63 6b 0d | 0e 92 18 20 20 41 44 44 |iteback.|... ADD|
|00004160| 45 51 20 20 20 52 31 2c | 20 52 31 2c 20 52 35 0d |EQ R1,| R1, R5.|
|00004170| 0e 9c 3e 20 20 53 54 52 | 20 20 20 20 20 52 31 2c |..> STR| R1,|
|00004180| 20 5b 52 32 2c 20 52 33 | 2c 20 4c 53 4c 20 23 32 | [R2, R3|, LSL #2|
|00004190| 5d 20 20 20 20 5c 20 42 | 61 73 65 20 72 65 67 69 |] \ B|ase regi|
|000041a0| 73 74 65 72 20 72 65 73 | 74 6f 72 65 64 0d 0e a6 |ster res|tored...|
|000041b0| 10 2e 4e 6f 57 72 69 74 | 65 62 61 63 6b 0d 0e b0 |..NoWrit|eback...|
|000041c0| 3b 20 20 54 53 54 20 20 | 20 20 20 52 30 2c 20 23 |; TST | R0, #|
|000041d0| 26 30 30 38 30 30 30 30 | 30 20 20 20 20 20 20 20 |&0080000|0 |
|000041e0| 20 20 20 5c 20 41 64 64 | 20 6f 66 66 73 65 74 20 | \ Add| offset |
|000041f0| 74 6f 20 62 61 73 65 3f | 0d 0e ba 4b 20 20 42 4e |to base?|...K BN|
|00004200| 45 20 20 20 20 20 69 6e | 64 65 78 65 64 75 70 20 |E in|dexedup |
|00004210| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 5c 20 | | \ |
|00004220| 53 70 6c 69 74 20 69 6e | 63 72 65 6d 65 6e 74 69 |Split in|crementi|
|00004230| 6e 67 20 61 6e 64 20 64 | 65 63 72 65 6d 65 6e 74 |ng and d|ecrement|
|00004240| 69 6e 67 0d 0e c4 18 20 | 20 53 55 42 20 20 20 20 |ing.... | SUB |
|00004250| 20 52 31 2c 20 52 31 2c | 20 52 35 0d 0e ce 35 20 | R1, R1,| R5...5 |
|00004260| 20 54 53 54 20 20 20 20 | 20 52 30 2c 20 23 26 30 | TST | R0, #&0|
|00004270| 31 30 30 30 30 30 30 20 | 20 20 20 20 20 20 20 20 |1000000 | |
|00004280| 20 5c 20 50 72 65 2d 69 | 6e 64 65 78 69 6e 67 3f | \ Pre-i|ndexing?|
|00004290| 0d 0e d8 18 20 20 41 44 | 44 45 51 20 20 20 52 31 |.... AD|DEQ R1|
|000042a0| 2c 20 52 31 2c 20 23 34 | 0d 0e e2 17 20 20 42 20 |, R1, #4|.... B |
|000042b0| 20 20 20 20 20 20 4c 6f | 61 64 5f 50 61 67 65 0d | Lo|ad_Page.|
|000042c0| 0e ec 0e 2e 69 6e 64 65 | 78 65 64 75 70 0d 0e f6 |....inde|xedup...|
|000042d0| 1c 20 20 54 53 54 20 20 | 20 20 20 52 30 2c 20 23 |. TST | R0, #|
|000042e0| 26 30 31 30 30 30 30 30 | 30 0d 0f 00 18 20 20 41 |&0100000|0.... A|
|000042f0| 44 44 4e 45 20 20 20 52 | 31 2c 20 52 31 2c 20 23 |DDNE R|1, R1, #|
|00004300| 34 0d 0f 0a 17 20 20 42 | 20 20 20 20 20 20 20 4c |4.... B| L|
|00004310| 6f 61 64 5f 50 61 67 65 | 0d 0f 14 04 0d 0f 1e 24 |oad_Page|.......$|
|00004320| 5c 20 20 43 6f 64 65 20 | 66 6f 72 20 68 61 6e 64 |\ Code |for hand|
|00004330| 6c 69 6e 67 20 4c 44 52 | 20 61 6e 64 20 53 54 52 |ling LDR| and STR|
|00004340| 0d 0f 28 29 5c 20 20 42 | 61 73 65 20 64 6f 65 73 |..()\ B|ase does|
|00004350| 20 6e 6f 74 20 6e 65 65 | 64 20 74 6f 20 62 65 20 | not nee|d to be |
|00004360| 72 65 73 74 6f 72 65 64 | 2e 0d 0f 32 24 5c 20 20 |restored|...2$\ |
|00004370| 49 6d 6d 65 64 69 61 74 | 65 20 63 6f 6e 73 74 61 |Immediat|e consta|
|00004380| 6e 74 20 69 73 20 30 2e | 2e 34 30 39 35 0d 0f 3c |nt is 0.|.4095..<|
|00004390| 46 5c 20 20 52 65 67 69 | 73 74 65 72 20 6f 66 66 |F\ Regi|ster off|
|000043a0| 73 65 74 20 69 73 20 61 | 73 20 66 6f 72 20 62 61 |set is a|s for ba|
|000043b0| 73 69 63 20 6f 70 20 65 | 78 63 65 70 74 20 6e 6f |sic op e|xcept no|
|000043c0| 20 73 68 69 66 74 20 62 | 79 20 72 65 67 69 73 74 | shift b|y regist|
|000043d0| 65 72 2e 0d 0f 46 04 0d | 0f 50 0b 2e 6c 64 72 73 |er...F..|.P..ldrs|
|000043e0| 74 72 0d 0f 5a 15 20 20 | 43 4d 50 20 20 20 20 20 |tr..Z. |CMP |
|000043f0| 52 33 2c 20 23 50 43 0d | 0f 64 3a 20 20 42 49 43 |R3, #PC.|.d: BIC|
|00004400| 45 51 20 20 20 52 31 2c | 20 52 31 2c 20 23 26 46 |EQ R1,| R1, #&F|
|00004410| 43 30 30 30 30 30 33 20 | 20 20 20 20 20 5c 20 4d |C000003 | \ M|
|00004420| 61 73 6b 20 69 66 20 62 | 61 73 65 20 69 73 20 50 |ask if b|ase is P|
|00004430| 43 0d 0f 6e 35 20 20 54 | 53 54 20 20 20 20 20 52 |C..n5 T|ST R|
|00004440| 30 2c 20 23 26 30 31 30 | 30 30 30 30 30 20 20 20 |0, #&010|00000 |
|00004450| 20 20 20 20 20 20 20 5c | 20 50 72 65 2d 69 6e 64 | \| Pre-ind|
|00004460| 65 78 69 6e 67 3f 0d 0f | 78 17 20 20 42 45 51 20 |exing?..|x. BEQ |
|00004470| 20 20 20 20 4c 6f 61 64 | 5f 50 61 67 65 0d 0f 82 | Load|_Page...|
|00004480| 3a 20 20 54 53 54 20 20 | 20 20 20 52 30 2c 20 23 |: TST | R0, #|
|00004490| 26 30 32 30 30 30 30 30 | 30 20 20 20 20 20 20 20 |&0200000|0 |
|000044a0| 20 20 20 5c 20 69 6e 64 | 65 78 20 69 73 20 72 65 | \ ind|ex is re|
|000044b0| 67 69 73 74 65 72 3f 0d | 0f 8c 16 20 20 42 4e 45 |gister?.|... BNE|
|000044c0| 20 20 20 20 20 69 6e 64 | 65 78 72 65 67 0d 0f 96 | ind|exreg...|
|000044d0| 1d 20 20 4d 4f 56 20 20 | 20 20 20 52 35 2c 20 52 |. MOV | R5, R|
|000044e0| 30 2c 20 4c 53 4c 20 23 | 32 30 0d 0f a0 3b 20 20 |0, LSL #|20...; |
|000044f0| 54 53 54 20 20 20 20 20 | 52 30 2c 20 23 26 30 30 |TST |R0, #&00|
|00004500| 38 30 30 30 30 30 20 20 | 20 20 20 20 20 20 20 20 |800000 | |
|00004510| 5c 20 41 64 64 20 6f 66 | 66 73 65 74 20 74 6f 20 |\ Add of|fset to |
|00004520| 62 61 73 65 3f 0d 0f aa | 21 20 20 41 44 44 4e 45 |base?...|! ADDNE|
|00004530| 20 20 20 52 31 2c 20 52 | 31 2c 20 52 35 2c 20 4c | R1, R|1, R5, L|
|00004540| 53 52 20 23 32 30 0d 0f | b4 21 20 20 53 55 42 45 |SR #20..|.! SUBE|
|00004550| 51 20 20 20 52 31 2c 20 | 52 31 2c 20 52 35 2c 20 |Q R1, |R1, R5, |
|00004560| 4c 53 52 20 23 32 30 0d | 0f be 17 20 20 42 20 20 |LSR #20.|... B |
|00004570| 20 20 20 20 20 4c 6f 61 | 64 5f 50 61 67 65 0d 0f | Loa|d_Page..|
|00004580| c8 0d 2e 69 6e 64 65 78 | 72 65 67 0d 0f d2 3d 20 |...index|reg...= |
|00004590| 20 80 20 20 20 20 20 52 | 34 2c 20 52 30 2c 20 23 | . R|4, R0, #|
|000045a0| 26 30 30 30 30 30 30 30 | 46 20 20 20 20 20 20 5c |&0000000|F \|
|000045b0| 20 63 6f 6e 74 61 69 6e | 73 20 69 6e 64 65 78 20 | contain|s index |
|000045c0| 72 65 67 69 73 74 65 72 | 0d 0f dc 47 20 20 4c 44 |register|...G LD|
|000045d0| 52 20 20 20 20 20 52 34 | 2c 20 5b 52 32 2c 20 52 |R R4|, [R2, R|
|000045e0| 34 2c 20 4c 53 4c 20 23 | 32 5d 20 20 20 20 5c 20 |4, LSL #|2] \ |
|000045f0| 41 6e 64 20 69 6e 64 65 | 78 20 76 61 6c 75 65 2c |And inde|x value,|
|00004600| 20 6b 65 65 70 20 70 73 | 72 20 69 66 20 50 43 0d | keep ps|r if PC.|
|00004610| 0f e6 37 20 20 80 20 20 | 20 20 20 52 35 2c 20 52 |..7 . | R5, R|
|00004620| 30 2c 20 23 26 30 30 30 | 30 30 46 46 30 20 20 20 |0, #&000|00FF0 |
|00004630| 20 20 20 5c 20 47 65 74 | 20 73 68 69 66 74 20 6f | \ Get| shift o|
|00004640| 70 65 72 61 6e 64 0d 0f | f0 3e 20 20 84 52 20 20 |perand..|.> .R |
|00004650| 20 20 20 52 35 2c 20 52 | 35 2c 20 23 26 45 30 30 | R5, R|5, #&E00|
|00004660| 30 30 30 30 30 2b 34 20 | 20 20 20 5c 20 43 6f 6e |00000+4 | \ Con|
|00004670| 64 20 41 4c 2c 20 49 6e | 64 65 78 20 72 65 67 69 |d AL, In|dex regi|
|00004680| 73 74 65 72 0d 0f fa 40 | 20 20 84 52 20 20 20 20 |ster...@| .R |
|00004690| 20 52 35 2c 20 52 35 2c | 20 23 28 31 3c 3c 31 32 | R5, R5,| #(1<<12|
|000046a0| 29 2b 28 31 3c 3c 31 36 | 29 20 20 20 20 5c 20 62 |)+(1<<16|) \ b|
|000046b0| 61 73 65 20 72 65 67 69 | 73 74 65 72 2c 20 72 65 |ase regi|ster, re|
|000046c0| 73 75 6c 74 0d 10 04 3b | 20 20 54 53 54 20 20 20 |sult...;| TST |
|000046d0| 20 20 52 30 2c 20 23 26 | 30 30 38 30 30 30 30 30 | R0, #&|00800000|
|000046e0| 20 20 20 20 20 20 20 20 | 20 20 5c 20 41 64 64 20 | | \ Add |
|000046f0| 6f 66 66 73 65 74 20 74 | 6f 20 62 61 73 65 3f 0d |offset t|o base?.|
|00004700| 10 0e 2a 20 20 84 52 4e | 45 20 20 20 52 35 2c 20 |..* .RN|E R5, |
|00004710| 52 35 2c 20 23 26 30 30 | 38 30 30 30 30 30 20 20 |R5, #&00|800000 |
|00004720| 20 20 20 20 5c 20 61 64 | 64 0d 10 18 2a 20 20 84 | \ ad|d...* .|
|00004730| 52 45 51 20 20 20 52 35 | 2c 20 52 35 2c 20 23 26 |REQ R5|, R5, #&|
|00004740| 30 30 34 30 30 30 30 30 | 20 20 20 20 20 20 5c 20 |00400000| \ |
|00004750| 73 75 62 0d 10 22 38 20 | 20 53 54 52 20 20 20 20 |sub.."8 | STR |
|00004760| 20 52 35 2c 20 49 6e 64 | 65 78 41 64 64 20 20 20 | R5, Ind|exAdd |
|00004770| 20 20 20 20 20 20 20 20 | 20 5c 20 6d 65 61 20 6d | | \ mea m|
|00004780| 61 78 69 6d 61 20 63 75 | 6c 70 61 0d 10 2c 2b 20 |axima cu|lpa..,+ |
|00004790| 20 4d 4f 56 20 20 20 20 | 20 52 30 2c 20 52 30 20 | MOV | R0, R0 |
|000047a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000047b0| 20 5c 20 4e 4f 50 0d 10 | 36 0d 2e 49 6e 64 65 78 | \ NOP..|6..Index|
|000047c0| 41 64 64 0d 10 40 49 20 | 20 41 44 44 20 20 20 20 |Add..@I | ADD |
|000047d0| 20 52 31 2c 20 52 31 2c | 20 52 34 2c 20 4c 53 4c | R1, R1,| R4, LSL|
|000047e0| 20 23 32 20 20 20 20 20 | 20 5c 20 2a 2a 2a 2a 2a | #2 | \ *****|
|000047f0| 20 4f 56 45 52 57 52 49 | 54 54 45 4e 20 4f 50 45 | OVERWRI|TTEN OPE|
|00004800| 52 41 54 49 4f 4e 20 2a | 2a 2a 2a 2a 0d 10 4a 17 |RATION *|****..J.|
|00004810| 20 20 42 20 20 20 20 20 | 20 20 4c 6f 61 64 5f 50 | B | Load_P|
|00004820| 61 67 65 0d 10 54 04 0d | 10 5e 32 5c 20 20 43 6f |age..T..|.^2\ Co|
|00004830| 64 65 20 66 6f 72 20 68 | 61 6e 64 6c 69 6e 67 20 |de for h|andling |
|00004840| 43 6f 70 72 6f 63 65 73 | 73 6f 72 20 64 61 74 61 |Coproces|sor data|
|00004850| 20 74 72 61 6e 73 66 65 | 72 0d 10 68 34 5c 20 20 | transfe|r..h4\ |
|00004860| 2c 20 6e 6f 74 20 74 68 | 61 74 20 49 27 76 65 20 |, not th|at I've |
|00004870| 67 6f 74 20 6f 6e 65 21 | 20 20 53 61 6d 65 20 63 |got one!| Same c|
|00004880| 6f 64 65 20 77 6f 72 6b | 73 20 66 6f 72 0d 10 72 |ode work|s for..r|
|00004890| 23 5c 20 20 74 68 65 20 | 66 6c 6f 61 74 69 6e 67 |#\ the |floating|
|000048a0| 20 70 6f 69 6e 74 20 65 | 6d 75 6c 61 74 6f 72 2e | point e|mulator.|
|000048b0| 0d 10 7c 04 0d 10 86 0b | 2e 6c 64 63 73 74 63 0d |..|.....|.ldcstc.|
|000048c0| 10 90 15 20 20 43 4d 50 | 20 20 20 20 20 52 33 2c |... CMP| R3,|
|000048d0| 20 23 50 43 0d 10 9a 3a | 20 20 42 49 43 45 51 20 | #PC...:| BICEQ |
|000048e0| 20 20 52 31 2c 20 52 31 | 2c 20 23 26 46 43 30 30 | R1, R1|, #&FC00|
|000048f0| 30 30 30 33 20 20 20 20 | 20 20 5c 20 4d 61 73 6b |0003 | \ Mask|
|00004900| 20 69 66 20 62 61 73 65 | 20 69 73 20 50 43 0d 10 | if base| is PC..|
|00004910| a4 1e 20 20 80 20 20 20 | 20 20 52 35 2c 20 52 30 |.. . | R5, R0|
|00004920| 2c 20 23 26 30 30 30 30 | 30 30 46 46 0d 10 ae 33 |, #&0000|00FF...3|
|00004930| 20 20 54 53 54 20 20 20 | 20 20 52 30 2c 20 23 26 | TST | R0, #&|
|00004940| 30 30 32 30 30 30 30 30 | 20 20 20 20 20 20 20 20 |00200000| |
|00004950| 20 20 5c 20 57 72 69 74 | 65 2d 62 61 63 6b 3f 0d | \ Writ|e-back?.|
|00004960| 10 b8 3c 20 20 43 4d 50 | 4e 45 20 20 20 52 33 2c |..< CMP|NE R3,|
|00004970| 20 23 50 43 20 20 20 20 | 20 20 20 20 20 20 20 20 | #PC | |
|00004980| 20 20 20 20 20 5c 20 64 | 6f 65 73 20 6e 6f 74 20 | \ d|oes not |
|00004990| 61 70 70 6c 79 20 74 6f | 20 50 43 0d 10 c2 1d 20 |apply to| PC.... |
|000049a0| 20 42 45 51 20 20 20 20 | 20 6c 64 63 5f 4e 6f 57 | BEQ | ldc_NoW|
|000049b0| 72 69 74 65 62 61 63 6b | 0d 10 cc 3b 20 20 54 53 |riteback|...; TS|
|000049c0| 54 20 20 20 20 20 52 30 | 2c 20 23 26 30 30 38 30 |T R0|, #&0080|
|000049d0| 30 30 30 30 20 20 20 20 | 20 20 20 20 20 20 5c 20 |0000 | \ |
|000049e0| 41 64 64 20 6f 66 66 73 | 65 74 20 74 6f 20 62 61 |Add offs|et to ba|
|000049f0| 73 65 3f 0d 10 d6 39 20 | 20 53 55 42 4e 45 20 20 |se?...9 | SUBNE |
|00004a00| 20 52 31 2c 20 52 31 2c | 20 52 35 2c 20 4c 53 4c | R1, R1,| R5, LSL|
|00004a10| 20 23 32 20 20 20 20 20 | 20 5c 20 52 65 76 65 72 | #2 | \ Rever|
|00004a20| 73 65 20 77 72 69 74 65 | 62 61 63 6b 0d 10 e0 20 |se write|back... |
|00004a30| 20 20 41 44 44 45 51 20 | 20 20 52 31 2c 20 52 31 | ADDEQ | R1, R1|
|00004a40| 2c 20 52 35 2c 20 4c 53 | 4c 20 23 32 0d 10 ea 3e |, R5, LS|L #2...>|
|00004a50| 20 20 53 54 52 20 20 20 | 20 20 52 31 2c 20 5b 52 | STR | R1, [R|
|00004a60| 32 2c 20 52 33 2c 20 4c | 53 4c 20 23 32 5d 20 20 |2, R3, L|SL #2] |
|00004a70| 20 20 5c 20 42 61 73 65 | 20 72 65 67 69 73 74 65 | \ Base| registe|
|00004a80| 72 20 72 65 73 74 6f 72 | 65 64 0d 10 f4 14 2e 6c |r restor|ed.....l|
|00004a90| 64 63 5f 4e 6f 57 72 69 | 74 65 62 61 63 6b 0d 10 |dc_NoWri|teback..|
|00004aa0| fe 35 20 20 54 53 54 20 | 20 20 20 20 52 30 2c 20 |.5 TST | R0, |
|00004ab0| 23 26 30 31 30 30 30 30 | 30 30 20 20 20 20 20 20 |#&010000|00 |
|00004ac0| 20 20 20 20 5c 20 50 72 | 65 2d 69 6e 64 65 78 69 | \ Pr|e-indexi|
|00004ad0| 6e 67 3f 0d 11 08 17 20 | 20 42 45 51 20 20 20 20 |ng?.... | BEQ |
|00004ae0| 20 4c 6f 61 64 5f 50 61 | 67 65 0d 11 12 3b 20 20 | Load_Pa|ge...; |
|00004af0| 54 53 54 20 20 20 20 20 | 52 30 2c 20 23 26 30 30 |TST |R0, #&00|
|00004b00| 38 30 30 30 30 30 20 20 | 20 20 20 20 20 20 20 20 |800000 | |
|00004b10| 5c 20 41 64 64 20 6f 66 | 66 73 65 74 20 74 6f 20 |\ Add of|fset to |
|00004b20| 62 61 73 65 3f 0d 11 1c | 20 20 20 41 44 44 4e 45 |base?...| ADDNE|
|00004b30| 20 20 20 52 31 2c 20 52 | 31 2c 20 52 35 2c 20 4c | R1, R|1, R5, L|
|00004b40| 53 4c 20 23 32 0d 11 26 | 20 20 20 53 55 42 45 51 |SL #2..&| SUBEQ|
|00004b50| 20 20 20 52 31 2c 20 52 | 31 2c 20 52 35 2c 20 4c | R1, R|1, R5, L|
|00004b60| 53 4c 20 23 32 0d 11 30 | 17 20 20 42 20 20 20 20 |SL #2..0|. B |
|00004b70| 20 20 20 4c 6f 61 64 5f | 50 61 67 65 0d 11 3a 04 | Load_|Page..:.|
|00004b80| 0d 11 44 0f 5c 20 4c 6f | 61 64 20 50 61 67 65 0d |..D.\ Lo|ad Page.|
|00004b90| 11 4e 29 5c 20 54 72 79 | 20 74 6f 20 6c 6f 61 64 |.N)\ Try| to load|
|00004ba0| 20 61 20 70 61 67 65 20 | 6f 66 20 76 69 72 74 75 | a page |of virtu|
|00004bb0| 61 6c 20 73 74 6f 72 65 | 0d 11 58 3a 5c 20 52 30 |al store|..X:\ R0|
|00004bc0| 20 3d 20 6f 70 2c 20 2d | 31 20 69 66 20 50 72 65 | = op, -|1 if Pre|
|00004bd0| 5f 46 65 74 63 68 2c 20 | 62 69 74 20 32 30 20 3d |_Fetch, |bit 20 =|
|00004be0| 20 30 20 77 72 69 74 65 | 20 65 6c 73 65 20 72 65 | 0 write| else re|
|00004bf0| 61 64 0d 11 62 15 5c 20 | 20 20 6e 6f 74 20 75 73 |ad..b.\ | not us|
|00004c00| 65 64 20 68 65 72 65 0d | 11 6c 1a 5c 20 52 31 20 |ed here.|.l.\ R1 |
|00004c10| 3d 20 61 64 64 72 65 73 | 73 20 74 6f 20 6c 6f 61 |= addres|s to loa|
|00004c20| 64 0d 11 76 04 0d 11 80 | 0e 2e 4c 6f 61 64 5f 50 |d..v....|..Load_P|
|00004c30| 61 67 65 0d 11 8a 04 0d | 11 94 2c 5c 20 43 68 65 |age.....|..,\ Che|
|00004c40| 63 6b 20 61 64 64 72 65 | 73 73 20 69 73 20 69 6e |ck addre|ss is in|
|00004c50| 20 76 69 72 74 75 61 6c | 20 73 74 6f 72 65 20 61 | virtual| store a|
|00004c60| 72 65 61 0d 11 9e 04 0d | 11 a8 17 20 20 4c 44 52 |rea.....|... LDR|
|00004c70| 20 20 20 20 20 52 32 2c | 20 56 5f 54 6f 70 0d 11 | R2,| V_Top..|
|00004c80| b2 14 20 20 43 4d 50 20 | 20 20 20 20 52 31 2c 20 |.. CMP | R1, |
|00004c90| 52 32 0d 11 bc 1a 20 20 | 42 47 45 20 20 20 20 20 |R2.... |BGE |
|00004ca0| 44 6f 5f 4f 6c 64 5f 41 | 62 6f 72 74 0d 11 c6 19 |Do_Old_A|bort....|
|00004cb0| 20 20 4c 44 52 20 20 20 | 20 20 52 37 2c 20 56 5f | LDR | R7, V_|
|00004cc0| 53 70 61 63 65 0d 11 d0 | 18 20 20 53 55 42 53 20 |Space...|. SUBS |
|00004cd0| 20 20 20 52 35 2c 20 52 | 31 2c 20 52 37 0d 11 da | R5, R|1, R7...|
|00004ce0| 1a 20 20 42 4c 54 20 20 | 20 20 20 44 6f 5f 4f 6c |. BLT | Do_Ol|
|00004cf0| 64 5f 41 62 6f 72 74 0d | 11 e4 04 0d 11 ee 2a 5c |d_Abort.|......*\|
|00004d00| 20 49 66 20 70 61 67 65 | 20 70 72 65 73 65 6e 74 | If page| present|
|00004d10| 20 74 68 65 6e 20 6c 6f | 61 64 20 6e 65 78 74 20 | then lo|ad next |
|00004d20| 70 61 67 65 2c 0d 11 f8 | 35 5c 20 44 6f 6e 27 74 |page,...|5\ Don't|
|00004d30| 20 77 6f 72 72 79 20 61 | 62 6f 75 74 20 63 6f 70 | worry a|bout cop|
|00004d40| 72 6f 63 65 73 73 6f 72 | 20 70 72 65 2d 66 65 74 |rocessor| pre-fet|
|00004d50| 63 68 20 70 72 6f 62 6c | 65 6d 0d 12 02 34 5c 20 |ch probl|em...4\ |
|00004d60| 69 6e 20 76 65 72 79 20 | 6c 61 73 74 20 77 6f 72 |in very |last wor|
|00004d70| 64 20 6f 66 20 76 69 72 | 74 75 61 6c 20 73 74 6f |d of vir|tual sto|
|00004d80| 72 65 21 20 2d 20 69 74 | 20 77 6f 75 6c 64 0d 12 |re! - it| would..|
|00004d90| 0c 1b 5c 20 62 65 20 76 | 65 72 79 20 73 69 6c 6c |..\ be v|ery sill|
|00004da0| 79 20 61 6e 79 77 61 79 | 2e 0d 12 16 04 0d 12 20 |y anyway|....... |
|00004db0| 1a 20 20 4c 44 52 20 20 | 20 20 20 52 36 2c 20 56 |. LDR | R6, V|
|00004dc0| 5f 56 66 6c 61 67 73 0d | 12 2a 28 20 20 4c 44 52 |_Vflags.|.*( LDR|
|00004dd0| 42 20 20 20 20 52 34 2c | 20 5b 52 36 2c 20 52 35 |B R4,| [R6, R5|
|00004de0| 2c 20 41 53 52 20 23 50 | 41 47 45 5f 4c 4e 5d 0d |, ASR #P|AGE_LN].|
|00004df0| 12 34 16 20 20 43 4d 50 | 20 20 20 20 20 52 34 2c |.4. CMP| R4,|
|00004e00| 20 23 32 35 35 0d 12 3e | 24 20 20 41 44 44 4e 45 | #255..>|$ ADDNE|
|00004e10| 20 20 20 52 31 2c 20 52 | 31 2c 20 23 56 53 49 5f | R1, R|1, #VSI_|
|00004e20| 50 61 67 65 53 69 7a 65 | 25 0d 12 48 17 20 20 42 |PageSize|%..H. B|
|00004e30| 4e 45 20 20 20 20 20 4c | 6f 61 64 5f 50 61 67 65 |NE L|oad_Page|
|00004e40| 0d 12 52 04 0d 12 5c 1c | 5c 20 52 36 3d 56 5f 56 |..R...\.|\ R6=V_V|
|00004e50| 66 6c 61 67 73 20 52 37 | 3d 56 5f 53 70 61 63 65 |flags R7|=V_Space|
|00004e60| 0d 12 66 04 0d 12 70 33 | 5c 20 53 74 61 72 74 20 |..f...p3|\ Start |
|00004e70| 75 70 20 69 6e 20 75 73 | 65 72 20 6d 6f 64 65 20 |up in us|er mode |
|00004e80| 77 69 74 68 20 69 6e 74 | 65 72 72 75 70 74 73 20 |with int|errupts |
|00004e90| 65 6e 61 62 6c 65 64 0d | 12 7a 33 5c 20 53 68 6f |enabled.|.z3\ Sho|
|00004ea0| 75 6c 64 20 6e 6f 74 20 | 63 61 75 73 65 20 61 6e |uld not |cause an|
|00004eb0| 6f 74 68 65 72 20 56 53 | 49 20 69 6e 74 65 72 72 |other VS|I interr|
|00004ec0| 75 70 74 20 77 68 69 6c | 73 74 0d 12 84 1c 5c 20 |upt whil|st....\ |
|00004ed0| 64 65 61 6c 69 6e 67 20 | 77 69 74 68 20 74 68 69 |dealing |with thi|
|00004ee0| 73 20 6f 6e 65 2e 0d 12 | 8e 04 0d 12 98 14 20 20 |s one...|...... |
|00004ef0| 54 45 51 50 20 20 20 20 | 50 43 2c 20 23 30 0d 12 |TEQP |PC, #0..|
|00004f00| a2 14 20 20 4d 4f 56 20 | 20 20 20 20 52 30 2c 20 |.. MOV | R0, |
|00004f10| 52 30 0d 12 ac 22 20 20 | 4d 4f 56 20 20 20 20 20 |R0..." |MOV |
|00004f20| 52 35 2c 20 52 31 2c 20 | 41 53 52 20 23 50 41 47 |R5, R1, |ASR #PAG|
|00004f30| 45 5f 4c 4e 0d 12 b6 22 | 20 20 4d 4f 56 20 20 20 |E_LN..."| MOV |
|00004f40| 20 20 52 35 2c 20 52 35 | 2c 20 41 53 4c 20 23 50 | R5, R5|, ASL #P|
|00004f50| 41 47 45 5f 4c 4e 0d 12 | c0 04 0d 12 ca 24 5c 20 |AGE_LN..|.....$\ |
|00004f60| 53 65 6c 65 63 74 20 61 | 20 70 68 79 73 69 63 61 |Select a| physica|
|00004f70| 6c 20 70 61 67 65 20 66 | 6f 72 20 56 53 49 0d 12 |l page f|or VSI..|
|00004f80| d4 04 0d 12 de 18 20 20 | 4c 44 52 20 20 20 20 20 |...... |LDR |
|00004f90| 52 38 2c 20 56 5f 4e 65 | 78 74 0d 12 e8 18 20 20 |R8, V_Ne|xt.... |
|00004fa0| 41 44 44 20 20 20 20 20 | 52 38 2c 20 52 38 2c 20 |ADD |R8, R8, |
|00004fb0| 23 31 0d 12 f2 1d 20 20 | 43 4d 50 20 20 20 20 20 |#1.... |CMP |
|00004fc0| 52 38 2c 20 23 56 53 49 | 5f 50 61 67 65 73 25 0d |R8, #VSI|_Pages%.|
|00004fd0| 12 fc 14 20 20 4d 4f 56 | 47 45 20 20 20 52 38 2c |... MOV|GE R8,|
|00004fe0| 20 23 30 0d 13 06 18 20 | 20 53 54 52 20 20 20 20 | #0.... | STR |
|00004ff0| 20 52 38 2c 20 56 5f 4e | 65 78 74 0d 13 10 04 0d | R8, V_N|ext.....|
|00005000| 13 1a 0f 5c 20 52 38 3d | 56 5f 4e 65 78 74 0d 13 |...\ R8=|V_Next..|
|00005010| 24 04 0d 13 2e 24 5c 20 | 53 61 76 65 20 6f 6c 64 |$....$\ |Save old|
|00005020| 20 70 61 67 65 20 61 6e | 64 20 6c 6f 61 64 20 6e | page an|d load n|
|00005030| 65 77 20 6f 6e 65 0d 13 | 38 04 0d 13 42 21 20 20 |ew one..|8...B! |
|00005040| 41 44 44 20 20 20 20 20 | 52 31 30 2c 20 52 38 2c |ADD |R10, R8,|
|00005050| 20 52 38 2c 20 41 53 4c | 20 23 31 0d 13 4c 1a 20 | R8, ASL| #1..L. |
|00005060| 20 4c 44 52 20 20 20 20 | 20 52 39 2c 20 56 5f 4e | LDR | R9, V_N|
|00005070| 65 77 4d 61 70 0d 13 56 | 21 20 20 41 44 44 20 20 |ewMap..V|! ADD |
|00005080| 20 20 20 52 39 2c 20 52 | 39 2c 20 52 31 30 2c 20 | R9, R|9, R10, |
|00005090| 41 53 4c 20 23 32 0d 13 | 60 1b 20 20 4c 44 4d 49 |ASL #2..|`. LDMI|
|000050a0| 41 20 20 20 52 39 2c 20 | 7b 52 31 30 2d 52 31 32 |A R9, |{R10-R12|
|000050b0| 7d 0d 13 6a 04 0d 13 74 | 18 5c 20 53 61 76 65 20 |}..j...t|.\ Save |
|000050c0| 61 77 61 79 20 6f 6c 64 | 20 70 61 67 65 0d 13 7e |away old| page..~|
|000050d0| 04 0d 13 88 14 20 20 4d | 4f 56 20 20 20 20 20 52 |..... M|OV R|
|000050e0| 30 2c 20 23 31 0d 13 92 | 18 20 20 4c 44 52 20 20 |0, #1...|. LDR |
|000050f0| 20 20 20 52 31 2c 20 56 | 5f 46 69 6c 65 0d 13 9c | R1, V|_File...|
|00005100| 15 20 20 4d 4f 56 20 20 | 20 20 20 52 32 2c 20 52 |. MOV | R2, R|
|00005110| 31 31 0d 13 a6 20 20 20 | 4d 4f 56 20 20 20 20 20 |11... |MOV |
|00005120| 52 33 2c 20 23 56 53 49 | 5f 50 61 67 65 53 69 7a |R3, #VSI|_PageSiz|
|00005130| 65 25 0d 13 b0 19 20 20 | 53 55 42 20 20 20 20 20 |e%.... |SUB |
|00005140| 52 34 2c 20 52 31 31 2c | 20 52 37 0d 13 ba 17 20 |R4, R11,| R7.... |
|00005150| 20 53 57 49 20 20 20 20 | 20 22 4f 53 5f 47 42 50 | SWI | "OS_GBP|
|00005160| 42 22 0d 13 c4 04 0d 13 | ce 15 5c 20 55 70 64 61 |B"......|..\ Upda|
|00005170| 74 65 20 56 5f 56 66 6c | 61 67 73 0d 13 d8 04 0d |te V_Vfl|ags.....|
|00005180| 13 e2 19 20 20 53 55 42 | 20 20 20 20 20 52 34 2c |... SUB| R4,|
|00005190| 20 52 31 31 2c 20 52 37 | 0d 13 ec 16 20 20 4d 4f | R11, R7|.... MO|
|000051a0| 56 20 20 20 20 20 52 32 | 2c 20 23 32 35 35 0d 13 |V R2|, #255..|
|000051b0| f6 28 20 20 53 54 52 42 | 20 20 20 20 52 32 2c 20 |.( STRB| R2, |
|000051c0| 5b 52 36 2c 20 52 34 2c | 20 41 53 52 20 23 50 41 |[R6, R4,| ASR #PA|
|000051d0| 47 45 5f 4c 4e 5d 0d 14 | 00 31 20 20 4d 4f 56 20 |GE_LN]..|.1 MOV |
|000051e0| 20 20 20 20 52 31 31 2c | 20 52 35 20 20 20 20 20 | R11,| R5 |
|000051f0| 20 20 20 20 20 20 20 20 | 20 20 5c 20 4e 65 77 20 | | \ New |
|00005200| 61 64 64 72 65 73 73 0d | 14 0a 19 20 20 53 55 42 |address.|... SUB|
|00005210| 20 20 20 20 20 52 34 2c | 20 52 31 31 2c 20 52 37 | R4,| R11, R7|
|00005220| 0d 14 14 28 20 20 53 54 | 52 42 20 20 20 20 52 38 |...( ST|RB R8|
|00005230| 2c 20 5b 52 36 2c 20 52 | 34 2c 20 41 53 52 20 23 |, [R6, R|4, ASR #|
|00005240| 50 41 47 45 5f 4c 4e 5d | 0d 14 1e 04 0d 14 28 13 |PAGE_LN]|......(.|
|00005250| 5c 20 55 70 64 61 74 65 | 20 4e 65 77 4d 61 70 0d |\ Update| NewMap.|
|00005260| 14 32 04 0d 14 3c 1b 20 | 20 53 54 52 20 20 20 20 |.2...<. | STR |
|00005270| 20 52 31 31 2c 20 5b 52 | 39 2c 20 23 34 5d 0d 14 | R11, [R|9, #4]..|
|00005280| 46 1a 20 20 41 44 52 20 | 20 20 20 20 52 30 2c 20 |F. ADR | R0, |
|00005290| 56 5f 4d 65 6d 4d 61 70 | 0d 14 50 1b 20 20 53 54 |V_MemMap|..P. ST|
|000052a0| 4d 49 41 20 20 20 52 30 | 2c 20 7b 52 31 30 2d 52 |MIA R0|, {R10-R|
|000052b0| 31 32 7d 0d 14 5a 23 20 | 20 53 57 49 20 20 20 20 |12}..Z# | SWI |
|000052c0| 20 22 4f 53 5f 53 65 74 | 4d 65 6d 4d 61 70 45 6e | "OS_Set|MemMapEn|
|000052d0| 74 72 69 65 73 22 0d 14 | 64 04 0d 14 6e 13 5c 20 |tries"..|d...n.\ |
|000052e0| 4c 6f 61 64 20 6e 65 77 | 20 70 61 67 65 0d 14 78 |Load new| page..x|
|000052f0| 04 0d 14 82 14 20 20 4d | 4f 56 20 20 20 20 20 52 |..... M|OV R|
|00005300| 30 2c 20 23 33 0d 14 8c | 18 20 20 4c 44 52 20 20 |0, #3...|. LDR |
|00005310| 20 20 20 52 31 2c 20 56 | 5f 46 69 6c 65 0d 14 96 | R1, V|_File...|
|00005320| 15 20 20 4d 4f 56 20 20 | 20 20 20 52 32 2c 20 52 |. MOV | R2, R|
|00005330| 31 31 0d 14 a0 20 20 20 | 4d 4f 56 20 20 20 20 20 |11... |MOV |
|00005340| 52 33 2c 20 23 56 53 49 | 5f 50 61 67 65 53 69 7a |R3, #VSI|_PageSiz|
|00005350| 65 25 0d 14 aa 19 20 20 | 53 55 42 20 20 20 20 20 |e%.... |SUB |
|00005360| 52 34 2c 20 52 31 31 2c | 20 52 37 0d 14 b4 17 20 |R4, R11,| R7.... |
|00005370| 20 53 57 49 20 20 20 20 | 20 22 4f 53 5f 47 42 50 | SWI | "OS_GBP|
|00005380| 42 22 0d 14 be 04 0d 14 | c8 22 5c 20 52 65 73 74 |B"......|."\ Rest|
|00005390| 6f 72 65 20 72 65 67 69 | 73 74 65 72 73 20 61 6e |ore regi|sters an|
|000053a0| 64 20 72 65 74 75 72 6e | 0d 14 d2 04 0d 14 dc 1b |d return|........|
|000053b0| 20 20 4c 44 52 20 20 20 | 20 20 52 30 2c 20 52 65 | LDR | R0, Re|
|000053c0| 73 74 61 72 74 50 43 0d | 14 e6 1e 20 20 53 54 52 |startPC.|... STR|
|000053d0| 20 20 20 20 20 52 30 2c | 20 52 65 67 44 75 6d 70 | R0,| RegDump|
|000053e0| 2b 34 2a 50 43 0d 14 f0 | 19 20 20 41 44 52 20 20 |+4*PC...|. ADR |
|000053f0| 20 20 20 52 30 2c 20 52 | 65 67 44 75 6d 70 0d 14 | R0, R|egDump..|
|00005400| fa 1b 20 20 4c 44 4d 49 | 41 20 20 20 52 30 2c 20 |.. LDMI|A R0, |
|00005410| 7b 52 30 2d 52 31 35 7d | 5e 0d 15 04 04 0d 15 0e |{R0-R15}|^.......|
|00005420| 24 5c 20 44 6f 20 6f 6c | 64 20 61 62 6f 72 74 20 |$\ Do ol|d abort |
|00005430| 69 66 20 61 6e 79 74 68 | 69 6e 67 20 77 72 6f 6e |if anyth|ing wron|
|00005440| 67 0d 15 18 2d 5c 20 4f | 6e 6c 79 20 72 65 67 69 |g...-\ O|nly regi|
|00005450| 73 74 65 72 73 20 52 30 | 20 74 6f 20 52 37 20 61 |sters R0| to R7 a|
|00005460| 74 20 6d 6f 73 74 20 63 | 68 61 6e 67 65 64 0d 15 |t most c|hanged..|
|00005470| 22 26 5c 20 62 65 66 6f | 72 65 20 73 75 63 68 20 |"&\ befo|re such |
|00005480| 61 6e 20 65 72 72 6f 72 | 20 69 73 20 64 65 74 65 |an error| is dete|
|00005490| 63 74 65 64 0d 15 2c 04 | 0d 15 36 11 2e 44 6f 5f |cted..,.|..6..Do_|
|000054a0| 4f 6c 64 5f 41 62 6f 72 | 74 0d 15 40 14 20 20 43 |Old_Abor|t..@. C|
|000054b0| 4d 4e 20 20 20 20 20 52 | 30 2c 20 23 31 0d 15 4a |MN R|0, #1..J|
|000054c0| 19 20 20 41 44 52 20 20 | 20 20 20 52 30 2c 20 52 |. ADR | R0, R|
|000054d0| 65 67 44 75 6d 70 0d 15 | 54 19 20 20 4c 44 4d 49 |egDump..|T. LDMI|
|000054e0| 41 20 20 20 52 30 2c 20 | 7b 52 30 2d 52 37 7d 0d |A R0, |{R0-R7}.|
|000054f0| 15 5e 1f 20 20 4c 44 52 | 45 51 20 20 20 50 43 2c |.^. LDR|EQ PC,|
|00005500| 20 4f 6c 64 5f 41 62 6f | 72 74 5f 50 72 65 0d 15 | Old_Abo|rt_Pre..|
|00005510| 68 1f 20 20 4c 44 52 4e | 45 20 20 20 50 43 2c 20 |h. LDRN|E PC, |
|00005520| 4f 6c 64 5f 41 62 6f 72 | 74 5f 41 64 72 0d 15 72 |Old_Abor|t_Adr..r|
|00005530| 05 5d 0d 15 7c 05 ed 0d | 15 86 14 f4 50 52 49 4e |.]..|...|....PRIN|
|00005540| 54 20 50 25 2d 73 70 61 | 63 65 25 0d 15 90 13 e7 |T P%-spa|ce%.....|
|00005550| 20 50 25 2d 73 70 61 63 | 65 25 3c 30 20 8c 0d 15 | P%-spac|e%<0 ...|
|00005560| 9a 3a 20 20 85 20 31 2c | 22 47 69 76 65 20 6d 6f |.: . 1,|"Give mo|
|00005570| 72 65 20 73 70 61 63 65 | 20 66 6f 72 20 61 73 73 |re space| for ass|
|00005580| 65 6d 62 6c 79 20 22 5f | 53 54 52 7e 24 28 50 25 |embly "_|STR~$(P%|
|00005590| 2d 73 70 61 63 65 25 29 | 0d 15 a4 05 cd 0d 15 ae |-space%)|........|
|000055a0| 04 0d 15 b8 25 ff 28 22 | 43 52 45 41 54 45 20 22 |....%.("|CREATE "|
|000055b0| 2b 66 6e 61 6d 65 24 2b | 22 20 26 22 2b c3 7e 56 |+fname$+|" &"+.~V|
|000055c0| 73 69 7a 65 25 29 0d 15 | c2 17 56 53 49 5f 46 69 |size%)..|..VSI_Fi|
|000055d0| 6c 65 25 3d ad 28 66 6e | 61 6d 65 24 29 0d 15 cc |le%=.(fn|ame$)...|
|000055e0| 15 56 53 49 5f 46 6e 61 | 6d 65 24 3d 66 6e 61 6d |.VSI_Fna|me$=fnam|
|000055f0| 65 24 0d 15 d6 17 21 56 | 5f 46 69 6c 65 20 3d 20 |e$....!V|_File = |
|00005600| 56 53 49 5f 46 69 6c 65 | 25 0d 15 e0 13 e7 20 56 |VSI_File|%..... V|
|00005610| 53 49 5f 46 69 6c 65 25 | 3d 30 20 8c 0d 15 ea 26 |SI_File%|=0 ....&|
|00005620| 20 20 85 20 31 2c 22 43 | 61 6e 6e 6f 74 20 63 72 | . 1,"C|annot cr|
|00005630| 65 61 74 65 20 66 69 6c | 65 20 22 2b 66 6e 61 6d |eate fil|e "+fnam|
|00005640| 65 24 0d 15 f4 05 cd 0d | 15 fe 04 0d 16 08 35 f4 |e$......|......5.|
|00005650| 20 49 6e 69 74 69 61 6c | 69 73 65 20 76 69 72 74 | Initial|ise virt|
|00005660| 75 61 6c 20 73 70 61 63 | 65 20 73 6f 20 74 68 65 |ual spac|e so the|
|00005670| 20 66 69 72 73 74 20 66 | 65 77 20 70 61 67 65 73 | first f|ew pages|
|00005680| 0d 16 12 12 f4 20 61 72 | 65 20 70 72 65 73 65 6e |..... ar|e presen|
|00005690| 74 2e 0d 16 1c 04 0d 16 | 26 12 4d 25 3d 56 53 49 |t.......|&.M%=VSI|
|000056a0| 5f 4e 65 77 4d 61 70 25 | 0d 16 30 19 e3 20 49 25 |_NewMap%|..0.. I%|
|000056b0| 3d 30 20 b8 20 56 53 49 | 5f 50 61 67 65 73 25 2d |=0 . VSI|_Pages%-|
|000056c0| 31 0d 16 3a 20 20 20 4d | 25 21 30 20 3d 20 56 53 |1..: M|%!0 = VS|
|000056d0| 49 5f 4f 6c 64 4d 61 70 | 25 21 28 31 32 2a 49 25 |I_OldMap|%!(12*I%|
|000056e0| 29 0d 16 44 28 20 20 4d | 25 21 34 20 3d 20 56 53 |)..D( M|%!4 = VS|
|000056f0| 49 5f 53 70 61 63 65 25 | 2b 56 53 49 5f 50 61 67 |I_Space%|+VSI_Pag|
|00005700| 65 53 69 7a 65 25 2a 49 | 25 0d 16 4e 0e 20 20 4d |eSize%*I|%..N. M|
|00005710| 25 21 38 20 3d 20 30 0d | 16 58 1d 20 20 f4 50 52 |%!8 = 0.|.X. .PR|
|00005720| 49 4e 54 7e 4d 25 21 30 | 2c 7e 4d 25 21 34 2c 7e |INT~M%!0|,~M%!4,~|
|00005730| 4d 25 21 38 0d 16 62 0e | 20 20 4d 25 20 2b 3d 20 |M%!8..b.| M% += |
|00005740| 31 32 0d 16 6c 30 20 20 | 56 53 49 5f 50 66 6c 61 |12..l0 |VSI_Pfla|
|00005750| 67 73 25 3f 49 25 3d 30 | 3a 20 20 20 20 f4 20 50 |gs%?I%=0|: . P|
|00005760| 66 6c 61 67 73 20 6e 6f | 74 20 75 73 65 64 20 79 |flags no|t used y|
|00005770| 65 74 0d 16 76 17 20 20 | 56 53 49 5f 56 66 6c 61 |et..v. |VSI_Vfla|
|00005780| 67 73 25 3f 49 25 3d 49 | 25 0d 16 80 05 ed 0d 16 |gs%?I%=I|%.......|
|00005790| 8a 0d 4d 25 21 30 20 3d | 20 2d 31 0d 16 94 04 0d |..M%!0 =| -1.....|
|000057a0| 16 9e 3f c8 99 20 22 4f | 53 5f 43 68 61 6e 67 65 |..?.. "O|S_Change|
|000057b0| 45 6e 76 69 72 6f 6e 6d | 65 6e 74 22 2c 32 2c 49 |Environm|ent",2,I|
|000057c0| 6e 74 5f 41 62 6f 72 74 | 5f 50 72 65 20 b8 20 2c |nt_Abort|_Pre . ,|
|000057d0| 21 4f 6c 64 5f 41 62 6f | 72 74 5f 50 72 65 0d 16 |!Old_Abo|rt_Pre..|
|000057e0| a8 3f c8 99 20 22 4f 53 | 5f 43 68 61 6e 67 65 45 |.?.. "OS|_ChangeE|
|000057f0| 6e 76 69 72 6f 6e 6d 65 | 6e 74 22 2c 33 2c 49 6e |nvironme|nt",3,In|
|00005800| 74 5f 41 62 6f 72 74 5f | 41 64 72 20 b8 20 2c 21 |t_Abort_|Adr . ,!|
|00005810| 4f 6c 64 5f 41 62 6f 72 | 74 5f 41 64 72 0d 16 b2 |Old_Abor|t_Adr...|
|00005820| 04 0d 16 bc 11 56 53 49 | 5f 41 63 74 69 76 65 25 |.....VSI|_Active%|
|00005830| 3d b9 0d 16 c6 04 0d 16 | d0 11 f2 5f 56 53 49 5f |=.......|..._VSI_|
|00005840| 52 65 73 74 6f 72 65 0d | 16 da 04 0d 16 e4 0f 3d |Restore.|.......=|
|00005850| 56 53 49 5f 53 70 61 63 | 65 25 0d 16 ee 04 0d 16 |VSI_Spac|e%......|
|00005860| f8 04 0d 17 02 32 f4 20 | 43 61 6c 6c 20 50 52 4f |.....2. |Call PRO|
|00005870| 43 5f 56 53 49 5f 53 61 | 76 65 20 62 65 66 6f 72 |C_VSI_Sa|ve befor|
|00005880| 65 20 61 6e 79 20 57 69 | 6d 70 5f 50 6f 6c 6c 20 |e any Wi|mp_Poll |
|00005890| 63 61 6c 6c 0d 17 0c 30 | f4 20 49 74 20 73 65 74 |call...0|. It set|
|000058a0| 73 20 74 68 65 20 76 69 | 72 74 75 61 6c 20 73 74 |s the vi|rtual st|
|000058b0| 6f 72 65 20 62 61 63 6b | 20 74 68 65 20 77 61 79 |ore back| the way|
|000058c0| 20 74 68 65 0d 17 16 1c | f4 20 57 69 6d 70 20 65 | the....|. Wimp e|
|000058d0| 78 70 65 63 74 73 20 69 | 74 20 74 6f 20 62 65 2e |xpects i|t to be.|
|000058e0| 0d 17 20 04 0d 17 2a 10 | dd 20 f2 5f 56 53 49 5f |.. ...*.|. ._VSI_|
|000058f0| 53 61 76 65 0d 17 34 17 | e7 20 ac 20 56 53 49 5f |Save..4.|. . VSI_|
|00005900| 41 63 74 69 76 65 25 20 | 8c 20 e1 0d 17 3e 28 c8 |Active% |. ...>(.|
|00005910| 99 20 22 4f 53 5f 53 65 | 74 4d 65 6d 4d 61 70 45 |. "OS_Se|tMemMapE|
|00005920| 6e 74 72 69 65 73 22 2c | 56 53 49 5f 4f 6c 64 4d |ntries",|VSI_OldM|
|00005930| 61 70 25 0d 17 48 05 e1 | 0d 17 52 04 0d 17 5c 04 |ap%..H..|..R...\.|
|00005940| 0d 17 66 2a f4 20 43 61 | 6c 6c 20 50 52 4f 43 5f |..f*. Ca|ll PROC_|
|00005950| 56 53 49 5f 52 65 73 74 | 6f 72 65 20 74 6f 20 72 |VSI_Rest|ore to r|
|00005960| 65 73 74 6f 72 65 20 74 | 68 65 0d 17 70 2a f4 20 |estore t|he..p*. |
|00005970| 76 69 72 74 75 61 6c 20 | 73 74 6f 72 65 20 6f 66 |virtual |store of|
|00005980| 20 74 68 65 20 70 72 6f | 67 72 61 6d 20 61 66 74 | the pro|gram aft|
|00005990| 65 72 20 61 0d 17 7a 17 | f4 20 57 69 6d 70 5f 50 |er a..z.|. Wimp_P|
|000059a0| 6f 6c 6c 20 72 65 74 75 | 72 6e 73 0d 17 84 04 0d |oll retu|rns.....|
|000059b0| 17 8e 13 dd 20 f2 5f 56 | 53 49 5f 52 65 73 74 6f |.... ._V|SI_Resto|
|000059c0| 72 65 0d 17 98 17 e7 20 | ac 20 56 53 49 5f 41 63 |re..... |. VSI_Ac|
|000059d0| 74 69 76 65 25 20 8c 20 | e1 0d 17 a2 28 c8 99 20 |tive% . |....(.. |
|000059e0| 22 4f 53 5f 53 65 74 4d | 65 6d 4d 61 70 45 6e 74 |"OS_SetM|emMapEnt|
|000059f0| 72 69 65 73 22 2c 56 53 | 49 5f 4e 65 77 4d 61 70 |ries",VS|I_NewMap|
|00005a00| 25 0d 17 ac 05 e1 0d 17 | b6 04 0d 17 c0 04 0d 17 |%.......|........|
|00005a10| ca 33 f4 20 43 61 6c 6c | 20 50 52 4f 43 5f 56 53 |.3. Call| PROC_VS|
|00005a20| 49 5f 53 74 6f 70 20 74 | 6f 20 65 6e 64 20 75 73 |I_Stop t|o end us|
|00005a30| 69 6e 67 20 76 69 72 74 | 75 61 6c 20 73 74 6f 72 |ing virt|ual stor|
|00005a40| 65 0d 17 d4 30 f4 20 49 | 74 20 6d 75 73 74 20 62 |e...0. I|t must b|
|00005a50| 65 20 63 61 6c 6c 65 64 | 20 62 65 66 6f 72 65 20 |e called| before |
|00005a60| 74 68 65 20 70 72 6f 67 | 72 61 6d 20 65 6e 64 73 |the prog|ram ends|
|00005a70| 2e 0d 17 de 27 f4 20 42 | 65 20 73 75 72 65 20 74 |....'. B|e sure t|
|00005a80| 6f 20 63 61 6c 6c 20 61 | 66 74 65 72 20 61 6e 79 |o call a|fter any|
|00005a90| 20 65 72 72 6f 72 73 2e | 0d 17 e8 2e f4 20 49 66 | errors.|..... If|
|00005aa0| 20 44 65 6c 65 74 65 25 | 20 69 73 20 54 52 55 45 | Delete%| is TRUE|
|00005ab0| 20 74 68 65 6e 20 64 65 | 6c 65 74 65 20 74 68 65 | then de|lete the|
|00005ac0| 20 20 66 69 6c 65 0d 17 | f2 26 f4 20 75 73 65 64 | file..|.&. used|
|00005ad0| 20 66 6f 72 20 74 68 65 | 20 76 69 72 74 75 61 6c | for the| virtual|
|00005ae0| 20 73 74 6f 72 65 20 61 | 72 65 61 2e 0d 17 fc 04 | store a|rea.....|
|00005af0| 0d 18 06 19 dd 20 f2 5f | 56 53 49 5f 53 74 6f 70 |..... ._|VSI_Stop|
|00005b00| 28 44 65 6c 65 74 65 25 | 29 0d 18 10 17 e7 20 ac |(Delete%|)..... .|
|00005b10| 20 56 53 49 5f 41 63 74 | 69 76 65 25 20 8c 20 e1 | VSI_Act|ive% . .|
|00005b20| 0d 18 1a 2e c8 99 20 22 | 4f 53 5f 43 68 61 6e 67 |...... "|OS_Chang|
|00005b30| 65 45 6e 76 69 72 6f 6e | 6d 65 6e 74 22 2c 32 2c |eEnviron|ment",2,|
|00005b40| 21 4f 6c 64 5f 41 62 6f | 72 74 5f 50 72 65 0d 18 |!Old_Abo|rt_Pre..|
|00005b50| 24 2e c8 99 20 22 4f 53 | 5f 43 68 61 6e 67 65 45 |$... "OS|_ChangeE|
|00005b60| 6e 76 69 72 6f 6e 6d 65 | 6e 74 22 2c 33 2c 21 4f |nvironme|nt",3,!O|
|00005b70| 6c 64 5f 41 62 6f 72 74 | 5f 41 64 72 0d 18 2e 0e |ld_Abort|_Adr....|
|00005b80| f2 5f 56 53 49 5f 53 61 | 76 65 0d 18 38 11 56 53 |._VSI_Sa|ve..8.VS|
|00005b90| 49 5f 41 63 74 69 76 65 | 25 3d a3 0d 18 42 0f d9 |I_Active|%=...B..|
|00005ba0| 23 56 53 49 5f 46 69 6c | 65 25 0d 18 4c 27 e7 20 |#VSI_Fil|e%..L'. |
|00005bb0| 44 65 6c 65 74 65 25 20 | 8c 20 ff 28 22 52 45 4d |Delete% |. .("REM|
|00005bc0| 4f 56 45 20 22 2b 56 53 | 49 5f 46 6e 61 6d 65 24 |OVE "+VS|I_Fname$|
|00005bd0| 29 0d 18 56 05 e1 0d ff | 46 69 6c 65 44 61 74 61 |)..V....|FileData|
|00005be0| 82 21 52 75 6e 00 00 00 | 00 00 00 00 f1 00 00 00 |.!Run...|........|
|00005bf0| 44 eb ff ff 6b 62 90 23 | 03 00 38 16 7c 3e 20 21 |D...kb.#|..8.|> !|
|00005c00| 52 75 6e 0a 2a 57 69 6d | 70 53 6c 6f 74 20 2d 6d |Run.*Wim|pSlot -m|
|00005c10| 69 6e 20 32 35 36 6b 20 | 2d 6d 61 78 20 32 35 36 |in 256k |-max 256|
|00005c20| 6b 0a 0a 73 65 74 20 56 | 73 69 4c 69 6e 6b 24 44 |k..set V|siLink$D|
|00005c30| 69 72 20 3c 4f 62 65 79 | 24 44 69 72 3e 0a 0a 7c |ir <Obey|$Dir>..||
|00005c40| 20 64 65 66 69 6e 65 20 | 74 68 65 20 70 68 79 73 | define |the phys|
|00005c50| 69 63 61 6c 20 61 6e 64 | 20 76 69 72 74 75 61 6c |ical and| virtual|
|00005c60| 20 73 70 61 63 65 20 61 | 76 61 69 6c 61 62 6c 65 | space a|vailable|
|00005c70| 0a 7c 20 61 6c 77 61 79 | 73 20 75 73 65 73 20 61 |.| alway|s uses a|
|00005c80| 74 20 6c 65 61 73 74 20 | 34 20 70 68 79 73 69 63 |t least |4 physic|
|00005c90| 61 6c 20 70 61 67 65 73 | 0a 0a 73 65 74 20 56 53 |al pages|..set VS|
|00005ca0| 49 24 50 68 79 73 69 63 | 61 6c 20 20 31 32 38 30 |I$Physic|al 1280|
|00005cb0| 30 30 0a 73 65 74 20 56 | 53 49 24 56 69 72 74 75 |00.set V|SI$Virtu|
|00005cc0| 61 6c 20 20 32 30 30 30 | 30 30 30 0a 0a 52 75 6e |al 2000|000..Run|
|00005cd0| 20 3c 56 73 69 4c 69 6e | 6b 24 44 69 72 3e 2e 21 | <VsiLin|k$Dir>.!|
|00005ce0| 52 75 6e 49 6d 61 67 65 | 20 25 2a 30 0a 46 69 6c |RunImage| %*0.Fil|
|00005cf0| 65 44 61 74 61 82 21 52 | 75 6e 48 69 67 68 00 00 |eData.!R|unHigh..|
|00005d00| 00 d8 22 00 00 44 f8 ff | ff 9e b9 38 29 03 00 62 |.."..D..|...8)..b|
|00005d10| aa 67 26 e0 ea 6b 69 6c | 6f 6d 65 67 61 00 00 00 |.g&..kil|omega...|
|00005d20| 00 0c 00 00 ff 0d c0 a0 | e1 3f d8 2d e9 04 b0 4c |........|.?.-...L|
|00005d30| e2 0a 00 5d e1 1d 27 e0 | bb 00 40 a0 e1 ff 00 01 |...]..'.|..@.....|
|00005d40| e2 ff 50 03 e2 6b 00 50 | e3 01 00 00 0a 4b 00 50 |..P..k.P|.....K.P|
|00005d50| e3 01 00 00 1a 04 45 a0 | e1 04 00 00 ea 6d 00 50 |......E.|.....m.P|
|00005d60| e3 01 00 00 0a 4d 00 50 | e3 01 00 00 1a 04 4a a0 |.....M.P|......J.|
|00005d70| e1 01 00 d2 e4 00 00 50 | e3 05 00 00 0a 01 20 42 |.......P|...... B|
|00005d80| e2 1c 00 9f e5 07 1f 8f | e2 1f 27 e0 eb 01 00 a0 |........|..'.....|
|00005d90| e3 4a 27 e0 eb 00 00 55 | e3 04 00 a0 01 00 00 64 |.J'....U|.......d|
|00005da0| 12 30 a8 5b e9 f4 a3 00 | 00 49 6c 6c 65 67 61 6c |.0.[....|.Illegal|
|00005db0| 20 63 68 61 72 20 69 6e | 20 6e 75 6d 62 65 72 20 | char in| number |
|00005dc0| 25 73 0a 00 00 00 20 a0 | e1 ff 30 01 e2 00 00 a0 |%s.... .|..0.....|
|00005dd0| e3 12 00 00 ea 30 00 51 | e3 03 00 00 ba 39 00 51 |.....0.Q|.....9.Q|
|00005de0| e3 01 00 00 ca 30 10 41 | e2 0b 00 00 ea 41 00 51 |.....0.A|.....A.Q|
|00005df0| e3 03 00 00 ba 46 00 51 | e3 01 00 00 ca 41 10 41 |.....F.Q|.....A.A|
|00005e00| e2 04 00 00 ea 61 00 51 | e3 06 00 00 ba 66 00 51 |.....a.Q|.....f.Q|
|00005e10| e3 04 00 00 ca 61 10 41 | e2 0a 10 81 e2 00 02 81 |.....a.A|........|
|00005e20| e0 01 10 d2 e4 ea ff ff | ea bd ff ff ea 00 20 a0 |........|...... .|
|00005e30| e1 00 30 a0 e3 03 00 a0 | e1 01 10 d2 e4 2d 00 51 |..0.....|.....-.Q|
|00005e40| e3 01 00 00 1a 01 30 a0 | e3 01 00 00 ea 2b 00 51 |......0.|.....+.Q|
|00005e50| e3 00 00 00 1a 01 10 d2 | e4 26 00 51 e3 03 10 a0 |........|.&.Q....|
|00005e60| 01 02 00 a0 01 d6 ff ff | 0a 30 00 51 e3 0b 00 00 |........|.0.Q....|
|00005e70| 1a 01 10 d2 e4 78 00 51 | e3 01 00 00 0a 58 00 51 |.....x.Q|.....X.Q|
|00005e80| e3 06 00 00 1a 03 10 a0 | e1 02 00 a0 e1 cc ff ff |........|........|
|00005e90| ea 30 10 41 e2 00 01 80 | e0 80 00 81 e0 01 10 d2 |.0.A....|........|
|00005ea0| e4 30 00 51 e3 01 00 00 | ba 39 00 51 e3 f7 ff ff |.0.Q....|.9.Q....|
|00005eb0| da 9b ff ff ea 74 6d 61 | 6c 6c 6f 63 00 08 00 00 |.....tma|lloc....|
|00005ec0| ff 0d c0 a0 e1 31 d8 2d | e9 04 b0 4c e2 0a 00 5d |.....1.-|...L...]|
|00005ed0| e1 b6 26 e0 bb 00 40 a0 | e1 04 00 a0 e1 6b 25 e0 |..&...@.|.....k%.|
|00005ee0| eb 00 50 b0 e1 06 00 00 | 1a 00 00 54 e3 04 00 00 |..P.....|...T....|
|00005ef0| 0a 54 01 1f e5 04 1f 8f | e2 c3 26 e0 eb 01 00 a0 |.T......|..&.....|
|00005f00| e3 ee 26 e0 eb 05 00 a0 | e1 30 a8 5b e9 46 61 69 |..&.....|.0.[.Fai|
|00005f10| 6c 65 64 20 74 6f 20 67 | 65 74 20 61 72 65 61 20 |led to g|et area |
|00005f20| 69 6e 20 6d 61 6c 6c 6f | 63 0a 00 00 00 4c 6f 61 |in mallo|c....Loa|
|00005f30| 64 46 69 6c 65 00 00 00 | 00 0c 00 00 ff 0d c0 a0 |dFile...|........|
|00005f40| e1 73 d8 2d e9 04 b0 4c | e2 0a 00 5d e1 97 26 e0 |.s.-...L|...]..&.|
|00005f50| bb 00 50 a0 e1 01 40 a0 | e1 05 00 a0 e1 b0 1f e0 |..P...@.|........|
|00005f60| eb 00 60 a0 e1 00 00 94 | e5 06 00 80 e0 00 00 84 |..`.....|........|
|00005f70| e5 d2 ff ff eb 00 40 a0 | e1 05 00 a0 e1 0a 1f 8f |......@.|........|
|00005f80| e2 19 24 e0 eb 00 30 a0 | e1 03 50 a0 e1 06 20 a0 |..$...0.|..P... .|
|00005f90| e1 04 00 a0 e1 01 10 a0 | e3 52 24 e0 eb 05 00 a0 |........|.R$.....|
|00005fa0| e1 d3 26 e0 eb 04 00 a0 | e1 70 a8 5b e9 72 62 00 |..&.....|.p.[.rb.|
|00005fb0| 00 53 61 76 65 46 69 6c | 65 00 00 00 00 0c 00 00 |.SaveFil|e.......|
|00005fc0| ff 0d c0 a0 e1 ff d9 2d | e9 04 b0 4c e2 42 cf 4d |.......-|...L.B.M|
|00005fd0| e2 0a 00 5c e1 76 26 e0 | bb 00 40 a0 e1 01 70 a0 |...\.v&.|..@...p.|
|00005fe0| e1 02 60 a0 e1 03 50 a0 | e1 01 dc 4d e2 04 00 a0 |..`...P.|...M....|
|00005ff0| e1 10 1f 8f e2 fc 23 e0 | eb 00 30 a0 e1 03 80 a0 |......#.|..0.....|
|00006000| e1 06 20 a0 e1 07 00 a0 | e1 01 10 a0 e3 84 24 e0 |.. .....|......$.|
|00006010| eb 08 00 a0 e1 b6 26 e0 | eb 05 30 a0 e1 04 20 a0 |......&.|..0... .|
|00006020| e1 0d 00 a0 e1 04 1f 8f | e2 78 26 e0 eb 0d 00 a0 |........|.x&.....|
|00006030| e1 8d 25 e0 eb f0 a9 5b | e9 77 62 00 00 73 65 74 |..%....[|.wb..set|
|00006040| 74 79 70 65 20 25 73 20 | 25 30 33 78 00 4f 70 74 |type %s |%03x.Opt|
|00006050| 69 6f 6e 48 65 6c 70 00 | 00 0c 00 00 ff 0d c0 a0 |ionHelp.|........|
|00006060| e1 10 d8 2d e9 04 b0 4c | e2 0a 00 5d e1 4f 26 e0 |...-...L|...].O&.|
|00006070| bb d4 02 1f e5 00 40 a0 | e1 19 1f 8f e2 62 26 e0 |......@.|.....b&.|
|00006080| eb 04 00 a0 e1 1e 1f 8f | e2 5f 26 e0 eb 04 00 a0 |........|._&.....|
|00006090| e1 1e 1f 8f e2 5c 26 e0 | eb 04 00 a0 e1 23 1f 8f |.....\&.|.....#..|
|000060a0| e2 59 26 e0 eb 04 00 a0 | e1 2a 1f 8f e2 56 26 e0 |.Y&.....|.*...V&.|
|000060b0| eb 04 00 a0 e1 31 1f 8f | e2 53 26 e0 eb 04 00 a0 |.....1..|.S&.....|
|000060c0| e1 33 1f 8f e2 50 26 e0 | eb 04 00 a0 e1 37 1f 8f |.3...P&.|.....7..|
|000060d0| e2 4d 26 e0 eb 04 00 a0 | e1 3e 1f 8f e2 10 68 1b |.M&.....|.>....h.|
|000060e0| e9 49 26 e0 ea 53 79 6e | 74 61 78 20 69 73 20 2a |.I&..Syn|tax is *|
|000060f0| 21 76 73 69 6c 69 6e 6b | 20 5b 6f 70 74 69 6f 6e |!vsilink| [option|
|00006100| 73 5d 2a 0a 00 4f 70 74 | 69 6f 6e 73 3a 0a 00 00 |s]*..Opt|ions:...|
|00006110| 00 09 2d 4c 20 66 69 6c | 65 73 20 4d 6f 64 75 6c |..-L fil|es Modul|
|00006120| 65 73 20 66 6f 72 20 6c | 6f 77 20 61 72 65 61 0a |es for l|ow area.|
|00006130| 00 09 2d 50 20 66 69 6c | 65 73 20 4d 6f 64 75 6c |..-P fil|es Modul|
|00006140| 65 73 20 66 6f 72 20 70 | 61 67 65 61 62 6c 65 20 |es for p|ageable |
|00006150| 61 72 65 61 0a 00 00 00 | 00 09 2d 4f 20 21 64 69 |area....|..-O !di|
|00006160| 72 20 20 4f 75 74 70 75 | 74 20 61 70 70 6c 69 63 |r Outpu|t applic|
|00006170| 61 74 69 6f 6e 20 64 69 | 72 65 63 74 6f 72 79 0a |ation di|rectory.|
|00006180| 00 09 2d 56 20 66 69 6c | 65 20 20 56 69 61 20 66 |..-V fil|e Via f|
|00006190| 69 6c 65 0a 00 09 2d 41 | 20 66 69 6c 65 20 20 41 |ile...-A| file A|
|000061a0| 6c 69 61 73 20 6e 61 6d | 65 20 70 61 69 72 73 0a |lias nam|e pairs.|
|000061b0| 00 09 2d 4d 20 20 20 20 | 20 20 20 50 72 6f 64 75 |..-M | Produ|
|000061c0| 63 65 20 61 72 65 61 20 | 61 6e 64 20 73 79 6d 62 |ce area |and symb|
|000061d0| 6f 6c 20 6d 61 70 73 0a | 00 09 2d 48 20 20 20 20 |ol maps.|..-H |
|000061e0| 20 20 20 50 72 6f 64 75 | 63 65 20 74 68 69 73 20 | Produ|ce this |
|000061f0| 68 65 6c 70 20 6d 65 73 | 73 61 67 65 0a 00 00 00 |help mes|sage....|
|00006200| 00 67 65 74 6f 70 74 00 | 00 08 00 00 ff 0d c0 a0 |.getopt.|........|
|00006210| e1 f7 d8 2d e9 04 b0 4c | e2 0a 00 5d e1 e3 25 e0 |...-...L|...]..%.|
|00006220| bb 00 50 a0 e1 01 40 a0 | e1 50 60 9f e5 00 00 96 |..P...@.|.P`.....|
|00006230| e5 00 00 50 e3 01 00 a0 | 03 00 00 86 05 00 00 96 |...P....|........|
|00006240| e5 05 00 50 e1 00 00 e0 | 03 f0 a8 5b 09 00 11 94 |...P....|...[....|
|00006250| e7 00 30 d1 e5 2d 00 53 | e3 02 00 00 1a 01 10 d1 |..0..-.S|........|
|00006260| e5 00 00 51 e3 06 00 00 | 1a 01 10 80 e2 00 10 86 |...Q....|........|
|00006270| e5 00 01 94 e7 08 00 86 | e5 00 00 a0 e3 f0 a8 5b |........|.......[|
|00006280| e9 c0 22 80 00 01 10 80 | e2 00 10 86 e5 00 01 94 |..".....|........|
|00006290| e7 01 10 80 e2 04 10 86 | e5 01 00 d1 e4 04 10 86 |........|........|
|000062a0| e5 ff 10 00 e2 01 70 a0 | e1 02 00 a0 e1 eb 25 e0 |......p.|......%.|
|000062b0| eb 3a 00 57 e3 01 00 00 | 0a 00 00 50 e3 0c 00 00 |.:.W....|...P....|
|000062c0| 1a 24 05 1f e5 07 20 a0 | e1 02 1f 8f e2 ce 25 e0 |.$.... .|......%.|
|000062d0| eb 3f 00 a0 e3 f0 a8 5b | e9 55 6e 72 65 63 6f 67 |.?.....[|.Unrecog|
|000062e0| 6e 69 73 65 64 20 6f 70 | 74 69 6f 6e 20 2d 25 63 |nised op|tion -%c|
|000062f0| 0a 00 00 00 00 04 10 96 | e5 08 10 86 e5 01 00 d0 |........|........|
|00006300| e5 3a 00 50 e3 05 00 00 | 1a 00 00 d1 e5 00 00 50 |.:.P....|.......P|
|00006310| e3 02 00 00 1a 00 00 96 | e5 05 00 50 e1 01 00 00 |........|...P....|
|00006320| 1a 07 00 a0 e1 f0 a8 5b | e9 00 11 94 e7 00 20 d1 |.......[|...... .|
|00006330| e5 2d 00 52 e3 03 00 00 | 1a 01 10 d1 e5 00 00 51 |.-.R....|.......Q|
|00006340| e3 07 00 a0 11 f0 a8 5b | 19 01 10 80 e2 00 10 86 |.......[|........|
|00006350| e5 00 01 94 e7 08 00 86 | e5 07 00 a0 e1 f0 a8 5b |........|.......[|
|00006360| e9 52 65 61 64 5f 46 69 | 6c 65 00 00 00 0c 00 00 |.Read_Fi|le......|
|00006370| ff 0d c0 a0 e1 f1 db 2d | e9 04 b0 4c e2 0a 00 5d |.......-|...L...]|
|00006380| e1 8a 25 e0 bb 00 40 a0 | e1 0c d0 4d e2 9c 00 9f |..%...@.|...M....|
|00006390| e5 10 00 90 e5 84 52 80 | e0 00 60 95 e5 00 80 a0 |......R.|..`.....|
|000063a0| e3 04 80 8d e5 04 10 8d | e2 06 00 a0 e1 e2 fe ff |........|........|
|000063b0| eb 00 90 a0 e1 06 00 a0 | e1 2e 10 a0 e3 aa 25 e0 |........|......%.|
|000063c0| eb 00 60 b0 e1 01 00 86 | 12 00 00 85 15 09 60 a0 |..`.....|......`.|
|000063d0| e1 00 00 96 e5 38 76 1f | e5 0f c3 90 e2 0d c7 9c |.....8v.|........|
|000063e0| 92 39 cc 9c 92 3b 00 7c | 93 0b 00 00 0a 17 31 a0 |.9...;.||......1.|
|000063f0| e3 e5 3d 43 e2 f3 37 83 | e2 08 00 2d e9 00 30 96 |..=C..7.|...-..0.|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.